6章 集合框架
为什么使用集合框架?
解决数量不确定。
是一样套性能优良,使用方便的接口和类,他们位于java.util包中。
Collection
List Set
Collection接口存储一组不唯一,无序的对象。
List接口的实现类:
Arraylist 不唯一 有序 遍历效率高
LinKedList 不唯一有续的
Arraylist的使用
添加一个object对象
遍历方式结果一样
//1索引号访问便利
for (int i = 0; i < list.size();i++) {
Object obj=list.get(i);
Dog dog=(Dog)obj;
dog.print();
}
for循环
System.out.println("**********使用fortatch访问便利**********");
for (Object object : list) {
((Dog)object).print();
}
//06判断对象是否存在?
if(list.contains(dog5)){
System.out.println("星星asd对象存在");
}else{
System.out.println("星星asd对象不存在");
}
linkedlist用来提高效率插入。删除
LinkedList list=new LinkedList();
list.add(dog1);//自动转换成了object类型
list.add(dog2);
list.add(dog3);
list.add(dog4);
list.add(0,dog5);//插入一个星星asd,就把兰兰替代了,重新排列
list.addFirst(dog5);//直接自动添加到第一个
list.addLast(dog6);//直接自动添加到第一个
for (Object object : list) {
((Dog)object).print();
}
Conltion 接口 和map接口
List set
Arraylist linkedList
Arraylist和linkedList有何异同?
同:都是有索引号来便利的,
添加,删除的方法,遍历的方法
LinkedList 快速的插入和删除的方法
2.非泛型集合,可以添加任意类型
ArrayList list=new ArrayList();
list.add(1);//装箱 程序性能降低
list.add("面试");
1.泛型不用装箱
2.泛型可以保证类型安全
泛型集合直接用,不需要类型转换
Map集合的功能概述
a:添加元素功能
Map<String,String> map=new HashMap<String,String>();
map.put("CBN", "中国");
map.put("SDF", "美国");
//方式1Collection values ():返回值的集合
Collection<String> collection = map.values();
for (String dd : collection) {
System.out.println(dd);
}
//方式五:Iterator.
Iterator <Entry <String,String>>iterator1=map.entrySet().iterator();
while (iterator1.hasNext()) {
Entry<String,String>entry=iterator1.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}