Java 集合
来源:互联网 发布:string转char数组 编辑:程序博客网 时间:2024/06/03 09:26
Java 集合知识汇总
Java的集合内容很丰富,可以称为Java集合框架,所谓框架者,必然存在着层次关系,在面向对象的世界里,层次意味着接口,抽象类及实现了接口或者继承自抽象类的类。接口的出现很好理解,因为不同类型的集合都有一些通用的方法。一图胜千言:Java集合的关系图如下:
注意:很多人想当然地认为Collection接口是所有集合的顶级接口,后来通过读Java API 6 发现,Map和Collection没有血缘关系,真是大跌眼镜!
我们来看看API中对Collection和Map的接口及其子类的描述:
通过这两个图我们可以发现,Map和Collection确实是不同的。集合中有的类可以允许重复元素,有的不可以,下面有一个列表进行了总结。
List是有序集合,而Set和Map则不一定。以Tree开头的都是有序的。而以Hash开头的,是用hash实现的,性能上比用二叉树实现的Tree**要好。
关于同步问题,一般而言,非同步的类,性能比同步的要好。我们建议用Collections.synchronizedCollection(Collection<T> c)方法去处理原本非同步的类,在不丢失性能的前提下,实现同步。Java1.5提供了ConcurrentHashMap,适用于高并发的线程安全实现。
下面是几个例子:
- <pre class="java" name="code">Set set = new HashSet();
- set.add("111");
- set.add("222");
- set.add("333");
- set.add("333"); // can not be added
- System.out.println("size = "+set.size());
- for(Iterator it = set.iterator();it.hasNext();){
- System.out.println(it.next());
- }
- List list = new ArrayList();
- list.add("bbb");
- list.add("ccc");
- list.add("ddd");
- list.add("ddd");
- System.out.println("size = "+list.size());
- for(Iterator it = list.iterator();it.hasNext();){
- System.out.println(it.next());
- }
- Vector v = new Vector();
- v.add("v1");
- v.add("v2");
- v.add("v3");
- v.add("v3");
- for(Iterator it = v.iterator();it.hasNext();){
- System.out.println(it.next());
- }
- List arrayList = new ArrayList();
- arrayList.add("Index");
- arrayList.add("Index");
- arrayList.add("Index");
- for(Iterator it = arrayList.iterator();it.hasNext();){
- System.out.println(it.next());
- }
阅读全文
0 0
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- JAVA集合-Map集合
- JAVA集合-Set集合
- JAVA集合-List集合
- java集合------Map集合
- Java集合----List集合
- Java集合----Set集合
- Java集合----Map集合
- JAVA集合
- JAVA集合
- Java集合
- JAVA集合
- Java集合
- Java集合
- java 集合
- C++实现24位真彩BMP图平移,镜像,旋转90、180度
- 史上最详细sed用法
- Linux防火墙介绍
- 到目前为止,Linux下最完整的Samba服务器配置攻略
- 12个免费学习编程的网站
- Java 集合
- pandas.describe 输出参数解释
- java并发编程--Executor框架
- ios-ios10设置本地通知
- Oracle登录命令
- 内存泄漏检测工具Leaks的用法
- 数据结构-----C++编程基础
- 文字只显示若干行,多出部分省略号显示。
- 不懂的概念 171030