Java的集合详细总结
来源:互联网 发布:算法第四版中文电子书 编辑:程序博客网 时间:2024/05/21 11:58
Java的集合详细总结
Collection是java集合中的根接口,当然只包括只包括Set和List。
1.Collection接口介绍
Collection接口中的方法(不列出所有,详细情况JDK文档)。1. boolean add(E e) //向集合中添加一个对象的应用。 2. boolean addAll(Collection c) //将其他collection中的所有元素都添加到此 collection中3. void clear() // 移除此 collection 中的所有元素(可选操作)。4. boolean contains(Object o) 如果此collection 包含指定的元素,则返回true 5. int size() //返回此collection中的元素数 6. Iterator<E> iterator() //返回在此collection的元素上的迭代器,可以用来遍历7. boolean isEmpty() //如果此collection不包含元素,则返回true。 8. boolean remove(Object o) //从集合中删除一个对象的引用 9. Object[] toArray() //返回包含此 collection 中所有元素的数组
2.Iterator接口介绍,它是对collection进行迭代的迭代器
Iterator接口中,只声明了三个方法。 1.boolean hasNext() //如果仍有元素可以迭代,则返回 true。 2.E next() //返回迭代的下一个元素。 3.void remove() //从迭代器指向的 collection 中移除迭代器返回的最后一个元素
3.下面重点介绍和总结Collection接口的两个子接口 List< E> 和set< E>
List的特点是它里面可以放重复的对象,而且都是有序的,有序可重复,List可以放入null,List有两个重要的实现类,ArrayList()和LinkedList()
- ArrayList() //他对元素的访问很有效率,但是插入和删除操作慢。
LinkList() //它的数据结构是链表结构存在的,所以和ArrayList()的特性相反,它的插入和删除操作快,但是不适合做查询。
遍历集合的两种方法
1.使用for循环for(int i=0; i<list.size();i++){ System.out.println(list.get(i)); } 2.使用迭代器Iterator it=list.Iterator();while(it.hasNext()){ System.out.println(it.next());}
Set中元素的排列是没有顺序的,并且没有重复对象。
Set接口主要实现了两个实现类:
- HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
- TreeSet :TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
4.Map< K,V >集合,Map集合里面的数据结构都是键-值对,而且它没有继承Collection接口,只要给出键对象,就会返回对应的值对象。
Map中常用的方法Object put(Object key, Object value) //向集合中加入元素 Object remove(Object key) // 删除与KEY相关的元素 void putAll(Map t) //将来自特定映像的所有元素添加给该映像 void clear() //从映像中删除所有映射 Object get(Object key) //给key对象,得到值对象
Map接口有两个重要的实现类
- HashMap:就是使用对象的hashCode()进行快速查询的。此方法能够显着提高性能。
- TreeMap: 基于红黑树数据结构的实现。查看“键”或“键值对”时,它们会被排序(次序由Comparabel或Comparator决定)。TreeMap的特点在 于,你得到的结果是经过排序的。TreeMap是唯一的带有subMap()方法的Map,它可以返回一个子树
5.集合的层次关系
Collection --List: --ArrayList / LinkedList / Vector(它是同步的,效率比ArrayList,但是涉及到多线程用它会比较好) --Set : --HashSet / TreeSetMap --HashMap --HashTable --TreeMap
6.Map的几种遍历方法
首先说下Map中的几个方法
- Set< Map.Entry< K,V > > entrySet() //返回此映射中包含的映射关系的 Set 视图。
- Set< K > keySet() // 返回此映射中包含的键的 Set 视图。
- Collection< V> values() //返回此映射中包含的值的 Collection 视图。
方法一:利用entrySer()方法,得到包含映射关系的Set集合
for(Entry<Integer, String> set1: map.entrySet()){ System.out.println(set1.getKey()+"--"+set1.getValue()); }
方法二:用keySet(),values()直接遍历出键和值
for(Integer keys:map.keySet()){ System.out.println(key); }for(String values:map.values()){ System.out.println(values); }
方法三:直接用Iterator遍历
Iterator<Entry<Integer, String>> mapIterator=map.entrySet().iterator();while (mapIterator.hasNext()) { Entry<Integer, String> entry=mapIterator.next(); System.out.println(entry.getKey()+"--"+entry.getValue());}
0 0
- Java的集合详细总结
- java集合框架类集详细总结
- java集合的总结!
- java集合的总结!
- java集合的总结
- java集合的总结
- Java集合的总结
- Java集合的总结
- java集合的总结
- Java 集合的总结
- java集合的总结
- 集合详细总结
- 详细说明java集合框架的体系结构
- 详细说明java集合框架的体系结构
- java集合框架的体系结构详细说明
- java集合框架的体系结构详细说明
- Java集合框架总结—超详细-适合面试
- java的集合类总结
- leetcode:Spiral Matrix II 【Java】
- Xcode里一个工程(Project)多个项目(target)做版本控制讨论
- 1.跨浏览器通讯之iframe 以及window.open
- 华为oj 将真分数分解为埃及分数
- hdoj-5636===dfs枚举新增的路有木有走
- Java的集合详细总结
- Android中图片资源格式的转换
- CodeForces - 617B Chocolate (规律)
- 关于socket buffer size的调优
- java中的局部变量与成员变量
- 挑7
- RILC系统结构及LibRIL运行机制
- Exception 和 error
- 关于LINUX网络编程中的IO 操作