您的位置:首页 > 编程语言 > Java开发

JAVA之集合

2016-07-14 15:50 344 查看
java中涉及的集合有LIST MAP SET

List

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class test {
public static void main(String[] args){
String a = "A",b = "B",c = "C",d= "D",e = "E";
List<String> list = new LinkedList<String>();
list.add(a);
list.add(e);
list.add(d);

Iterator<String> iterator = list.iterator();
System.out.println("修改前集合:");
while(iterator.hasNext()){
System.out.print(iterator.next() + " ");
}
System.out.println();

list.set(1, b);
list.add(2,c);
Iterator<String> it = list.iterator();
System.out.println("修改之后的集合:");
while(it.hasNext()){
System.out.print(it.next() + " ");
}
System.out.println();

}
}//set和add的区别:add是在索引位置添加元素,后面的元素向后移;set是将索引位置的元素修改

Set
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

public class test {
public static void main(String[] args){

Set<Object> set = new HashSet<>();
set.add(2);
set.add(3);
set.add(19);
set.add(5);
set.add(9);
set.add(15);
set.add(11);
set.add(18);
set.add(1);

for(Object i : set){
System.out.println(i + "插入的桶为 " + i.hashCode() % 16);
}
System.out.println(set);
}
}
//注意到这里的输出顺序好像是固定的,不管输入顺序如何。
//如果想按照输入顺序迭代,使用LinkedHashSet
//HashSet的内部原理是用了一张哈希表,纵向为数组(JAVA里称为 桶),
/*每个数组储存一个横向的链表(桶里的若干数据项),
根据插入的元素的哈希值与桶数取余数(Object.hashCode() % 桶数)
,确定元素在哈希表中的储存位置,如果余数相同,称为哈希冲突,
元素储存在相同下标的数组(相同的桶)的链表中。*/

Map
public class test {
public static void main(String[] args){
Map<String,String> map = new HashMap<>();
map.put("1", "apple");
map.put("2", "orange");
map.put("3","pear");
map.put("1", "vv");

for(int i=1;i<=3;i++){
System.out.println(i + map.get(i+""));
}
}
}
一个key只能映射到一个value,如果有重复,则会覆盖
1vv
2orange
3pear
public class test {
public static void main(String[] args){
Map<String,String> map = new HashMap<>();
map.put("1", "apple");
map.put("2", "orange");
map.put("3","pear");

Set<String> set = map.keySet();
System.out.println(set);

Collection<String> col = map.values();
System.out.println(col);

boolean b = map.containsKey("3");
System.out.println(b);

for(int i=1;i<=3;i++){
System.out.println(i + map.get(i+""));
}
}
}
[3, 2, 1]
[pear, orange, apple]
true
1apple
2orange
3pear

public class test {
public static void main(String[] args){
Map map = new HashMap();
map.put("001", "张三");
map.put("005", "李四");
map.put("004", "王五");

Set set = map.keySet();
Iterator it = set.iterator();
while(it.hasNext()){
String str = (String)it.next();
String name = (String)map.get(str);
System.out.println(str + " " + name);
}

TreeMap treemap = new TreeMap();
treemap.putAll(map);
Iterator iter = treemap.keySet().iterator();
while(iter.hasNext()){
String str = (String)iter.next();
String name = (String)map.get(str);//treemap都可以,映射
System.out.println(str + " " + name);
}
}
}

004 王五
005 李四
001 张三
001 张三
004 王五
005 李四
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  集合