collection 接口
一、List接口(元素可以重复,有序)
1、ArrayList 接口 (通过数组实现、主要实现类)
2、LinkedList接口(通过链表接口) 频繁使用插入,删除 推荐使用这个
3、vector接口 (古老类,线程安全) 基本不用
二、Set接口(元素不能重复,无序)
Set添加元素是,一定要重写equals()和Hashcode()方法
1、HashSet 主要实现
2、TreeSet
向TreeSet中添加元素时,首先按照进行比较,一旦返回0,虽然仅仅一个属性值相同,但是程序会认为这两个对象时相同的,
所以后面的就不能添加进来
1、 要实现compare接口(按照compare接口进行排序)
2、要注意添加的元素必须是同一个类的,否则就会报错。
Map接口
1、HashMap() 主要实现类
2、LinkedHashMap() 使用链表维护添加顺序,遍历就是按照添加顺序
3、 HashTable()古老类 线性安全 不建议使用
他的子类 properties()处理文件属性。
4、Map遍历
Map m=new HashMap();
m.put("1",2);
m.put("3",2);
m.put("8",8);
m.put("7",2);
//遍历key
Set s=m.keySet();
for(Object o:s)
System.out.println(o);
//遍历values
Collection ss=m.values();
for(Object k:ss)
System.out.println(k);
//遍历values 通过构造器
System.out.println("----------");
Iterator I= ss.iterator();
while(I.hasNext())
System.out.println(I.next());
//遍历key-values
System.out.println("---------------");
Set s1=m.keySet();
for(Object o:s1)
System.out.println(o+"--"+m.get(o));
//使用Entry 遍历
Set set2= m.entrySet();
for(Object obj:set2){
Map.Entry en=(Map.Entry)obj;
System.out.println(en);
}
}
三、collections 工具类 可以处理Map和collection