java集合框架总结
接口Collection是接口List、接口Set、接口Map的顶层接口
接口 常用实现类 特点
List ArratList 有序,可重复,线性,先进先出(排队),有下标
Set HashSet 无序,不可重复,“口袋”,遍历,无下标
Map HashMap 无序,键(标签)不可重复--值可以重复(覆盖)遍历key再
遍历value
//******************ArrayList类*****************//
ArrayList<String> arraylist = new ArrayList<String>();
for (int i=0;i<10;i++){
//声明一个随机数
Random rand = new Random();
//在0~9之间随机产生随机数
String str = "随机数"+rand.nextInt(10);
arraylist.add(str);
}
//3种遍历方法
//No、1 根据下标输出
for (int i=0;i<arraylist.Size();i++){
Stirng str = arraylist.get(i);
System.out.println(str);
}
//No、2 通过遍历器输出
Iterator<String> iter = arraylist.Iterator();
//如果遍历器不为空
while (iter.hasNext()){
String str = iter.next();
System.out.println(str);
}
//No、3 加强for循环
//把arraylist这个容器里面的东西一次一次的赋给str
for (String str:arraylist){
System.out.println(str);
}
//****************HashSet***********************//
HashSet<String> set = HashSet<String>();
for (int i=0;i<10;i++){
String str = "学生"+i;
set.add(str);
}
boolean b = set.add("元素0");
System.out.println(b); //打印的b为false,说明Set中不能存放相同的值
//遍历出set中的元素
Iterator<String> iter = set.Iterator();
while (iter.hasNext()){
String str = iter.next();
System.out.println(str);
}
//***********************HashMap*************************//
HashMap<Integer,String> map = new HashMap<Integer,String>();
//<Integer,String>前者理解为是“标签”,后者理解为是标签对应的内容,他们是映射关系
for (int i=1;i<30;i++){
int num = 20112601100+i;
String str = "学生"+i;
//HashMap中用put方法添加元素
map.put(num,str);
}
map.put(20112601127,"王建鑫");
//标签为"20112601127"的内容就会被覆盖,与Set对比
//先得到标签集合
Set<Integer> set = map.keySet();
//通过遍历“标签”再得到value
Iterator<Integer> iter = set.Iterator();
while (iter.hasNext()){
int key = iter.next();
String str = map.get(key);
System.out.println(str+"的学号是"+key);
}
接口Collection是接口List、接口Set、接口Map的顶层接口
接口 常用实现类 特点
List ArratList 有序,可重复,线性,先进先出(排队),有下标
Set HashSet 无序,不可重复,“口袋”,遍历,无下标
Map HashMap 无序,键(标签)不可重复--值可以重复(覆盖)遍历key再
遍历value
//******************ArrayList类*****************//
ArrayList<String> arraylist = new ArrayList<String>();
for (int i=0;i<10;i++){
//声明一个随机数
Random rand = new Random();
//在0~9之间随机产生随机数
String str = "随机数"+rand.nextInt(10);
arraylist.add(str);
}
//3种遍历方法
//No、1 根据下标输出
for (int i=0;i<arraylist.Size();i++){
Stirng str = arraylist.get(i);
System.out.println(str);
}
//No、2 通过遍历器输出
Iterator<String> iter = arraylist.Iterator();
//如果遍历器不为空
while (iter.hasNext()){
String str = iter.next();
System.out.println(str);
}
//No、3 加强for循环
//把arraylist这个容器里面的东西一次一次的赋给str
for (String str:arraylist){
System.out.println(str);
}
//****************HashSet***********************//
HashSet<String> set = HashSet<String>();
for (int i=0;i<10;i++){
String str = "学生"+i;
set.add(str);
}
boolean b = set.add("元素0");
System.out.println(b); //打印的b为false,说明Set中不能存放相同的值
//遍历出set中的元素
Iterator<String> iter = set.Iterator();
while (iter.hasNext()){
String str = iter.next();
System.out.println(str);
}
//***********************HashMap*************************//
HashMap<Integer,String> map = new HashMap<Integer,String>();
//<Integer,String>前者理解为是“标签”,后者理解为是标签对应的内容,他们是映射关系
for (int i=1;i<30;i++){
int num = 20112601100+i;
String str = "学生"+i;
//HashMap中用put方法添加元素
map.put(num,str);
}
map.put(20112601127,"王建鑫");
//标签为"20112601127"的内容就会被覆盖,与Set对比
//先得到标签集合
Set<Integer> set = map.keySet();
//通过遍历“标签”再得到value
Iterator<Integer> iter = set.Iterator();
while (iter.hasNext()){
int key = iter.next();
String str = map.get(key);
System.out.println(str+"的学号是"+key);
}