Collection
定义
一个接口,目的是存储不唯一无序的对象
List
定义
一个继承Collection的接口,目的是存储不唯一有序的对象
公用方法
Object remove(int index)//移除下标元素,并返回该元素 boolean remove(Object o)//移除某元素 boolean contains(Object o)//是否包含元素 Object get(int index)//获取某下标的元素 int size()//获取元素的个数 void add(int index,Object o)//在指定的索引添加元素 boolean add(Object o)//在末尾添加元素 //也就是说下面所有的实现类都有该方法
ArrayList
定义
实现了长度的可变数字,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
LinkedList
定义
采取链表的存储方式,插入、删除元素的效率比较高
个性方法
void addFirst(Object o)//在首部添加元素 void addLast(Object o)//在最后添加元素 Object getFirst()//获取第一个元素 Object getLast()//获取最后一个元素 Object removeFirst()//移除第一个 Object removeLast()//移除最后一个
Set
定义
一个继承Collection的接口,目的是存储唯一无序的对象
Map
定义
一个接口 ,目的是存储一组键值对象(key:value)
常用的方法
Object put(Object key, Object val)//已键值对的形式进行存储 Object get (Object key)//根据键取值 Object remove (Object key)//根据键删除键值对 int size()//返回元素的个数 Set keySet ()//返回键的set集合 Collection values ()//返回值的集合 boolean containsKey (Object key)//是否包含某个键映射的键值对
遍历map
迭代器遍历iterator遍历
1.获取iterator:使用Collection接口的iterator()方法
2.terator的方法
boolean hasNext()//判断是否存在另一个可访问的元素 Object next()//返回要访问的下一个元素
3.举例
Set keys=dogMap.keySet(); //取出所有key的集合 Iterator it=keys.iterator(); //获取Iterator对象 while(it.hasNext()){ String key=(String)it.next(); //取出key Dog dog=(Dog)dogMap.get(key); //根据key取出对应的值 System.out.println(key+"\t"+dog.getStrain()); }
增强for循环
举例
Set keys=dogMap.keySet(); for(String key : keys) { Dog dog=(Dog)dogMap.get(key); System.out.println(key + "=" + value); }
泛型集合
由来
因为在集合操作的时候涉及到很多的强制类型转换的问题,所以在我们的jdk1.5后就使用了泛型改写了集合框架
举例
List <Dog> dogs = new ArrayList<Dog>(); //好处 1.无需强2.转类型有问题就主动报错,减少异常发生