常用集合简析讲解.ppt

常用集合简析讲解

常用集合简析 集合结构 List容器 List容器-- ArrayList List容器-- LinkedList List容器-- Vector, Stack 泛型 Set容器 Set容器-- HashSet 迭代器 Map容器 Map容器-- Hashtable Map容器-- HashMap 数据结构 Arrays数组工具类 对象的排序规则 对象的排序规则 总结 * * * * 1.集合结构 2.List容器 3.泛型 4.Set容器 5.迭代器 6.Map容器 7.数据结构 8.Arrays数组工具类 8.总结 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable └HashMap 集合类结构关系图 List的特性: 1.可以存放任何类型的元素,元素可重复 2.容器可变大小 3.有序排列,可以使用索引来访问 List的实现类: ArrayList,LinkedList,Vector,Stack ArrayList:List l=new ArrayList(); 数组列表类,没有线程同步。 常用方法: add(Object obj);//插入元素,在末尾 add(int i, Object obj);//在索引i处添加元素 remove(int i);//移除i索引处的元素 get(int i);//获取索引i处的方法 size();列表中的元素数 toArray();将列表中的元素转为数组 LinkedList:LinkedList l=new LinkedList(); 链表类,没有线程同步。 常用方法: addFirst(Object o);//将指定元素插入此列表的开头 addLast(Object o);//将指定元素插入此列表的末尾 getFirst();//返回此列表的第一个元素。 getLast();//返回此列表的最后一个元素。 removeFirst();//删除列表的第一个元素 removeLast();//删除列表的最后一个元素 Vector,Stack: 可以把Vector看作实现了同步的ArrayList。而Stack是一个栈类,他继承 自Vector,实现了先进后出。 Stack的几个扩展方法: empty();测试堆栈是否为空。 peek();查看堆栈顶部的对象。 pop();移除堆栈顶部的对象。 search();返回对象在堆栈中的位置 所谓泛型是指将类型参数化以达到代码复用,提高软件开发工作效率的一种数据类型。 我们在用List存储和取值的时候,其实都做了装箱,拆箱的操作。显然大量重复的装拆箱动作会降低效率。 eg: ListString l=new ArrayList String () ; java的泛型规定了集合中存储的数据类型,避免了不必要的装拆箱动作。 并且泛型可以起到检测存储类型的作用。 Set的特性: 1.可以存放任何类型的元素 2.不可存放重复值 3.无序排列,不可通过索引来访问 Set的实现类: HashSet HashSet:Set l=new HashSet(); 散列集结构,没有线程同步。 常用方法: add(Object o)//添加元素 clear()//移除所有元素 size()//返回此set中元素的数量 remove(Object o)//移除某个元素 containts(Object o)//如果此 set 包含指定元素,则返回 true 怎样遍历一个Set集合的所有元素? //用Set构建迭代器 Iterator i=set.iterator(); while(i.hasNext()){ Object o=i.next();System.out.println(o); } for(Iterator iter=set.iterator();iter.hasNext();){ iter.next(); } 迭代器的三个方法: hasNext();//判断是否有元素可迭代 next();//返回迭代的下一个元素 remove()//移除当前元素 提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。 Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。 Map的特性: 1.以键(key)值(Value)配对的方式存放元素 2.不可以包含相同的key 3.散列表结构 Map的实现类: Hashtable,HashMap Hashtable:Map l=new HashTable(); 线程同步,任何非 null 对象都可以用作键或值

文档评论(0)

1亿VIP精品文档

相关文档