一、Collection 接口是整个java集合中保存单值最大的操作父接口,里面每次操作的时候只能保存一个对象的数据。此接口定义在java.util包中
定义如下:public interface Collection <E> extends Iterable<E>
但在开发中一般不会直接使用Collection接口,而使用其操作的子接口 :
1、List---->可以重复------>此接口的实现类有ArrayList Vector LinkedList
2、Set----->不可以重复,因为此接口没有List接口中定义的get(int index)方法,所以无法使用循环输出 ---->此接口中常用的实现类有HashSet TreeSet
2.1、 HashSet :散列存放,里面的内容是无序存放的
2.2、TreeSet 属于排序的子类,因为实现了Serializable接口
3、集合的输出:Iterator 迭代输出---不断的判断是否有下一个元素,有的话,直接输出
public interface Iterator<E>
Iterator<String> i=集合.iterator();
while( i.hasNext()){
String s=i.next();
system.out.print(str+"");
}
也可以用foreach的方法进行输出。
二、Map接口
可以操作一对对象,以键值对的形式存。此接口与Collection没有关系,是第二大操作接口,一般使用HashMap TreeMap Hashtable
1、HashMap Map<Interger,String> map =new HashMap<Interger,String>(); 新的操作类,异步处理,性能较高,允许为空。
map.put(1,"aa"); 添加内容
String value=map.get(key); 通过key找到value 如果没有找到返回空
2、Hashtable 旧的操作类,同步处理,性能较低,不允许为空,否则会出现空指向异常。
3、TreeMap 是允许key进行排序的子类,其本身在操作的时候接按照key进行排序,key中的内容可以为任意的对象,但是要求对象所在的类必须实现Comparable接 口
4、map集合的输出,不能使用迭带了
Map<String ,String> map=new HashMap<String ,String>();
map.put("a","bb");
Set< Map.Entry<String,String>> set=map.enteySet();
Iterator<Map.Entry<String,String>> iter=set.iterator();
while(iter.hasNext){
Map.Entry<String,String > me=iter.next();
system.out.println(me.getKey()+"----------->"+me.getValue());
}