java集合相关知识
2016-05-14 15:32
603 查看
集合大致分为三类
List:有序可重复
Set:无序不可重复
Map:俗称字典,key value
Java集合类由两个接口派生:Collection和Map,其中Collection下主要有Set、List、Queue三个接口,而Map接口主要是各种Map接口。
Iterator接口用来迭代集合对象进行输出的,必须依赖于Collection才可使用
集合与数组区别:集合是可变的,数组编译时候就确定了大小,数组不但可以存基本数据类型也可存对象的引用,集合只可以存对象引用。
详细介绍:
ArrayList:单线程,基于数组开发,数组特性都有了
Vector:区别多线程,其他一样
LinkedList:基于双向链表 前指针 值 后指针,链表特性都有。
HashSet:基于hash表,元素唯一性依赖于hashCode()和equals(),得重写equals跟hashcode方法。
LinkedHashSet:基于链表和哈希表,链表保证元素有序,哈希表保证元素唯一
TreeSet:基于红黑树,元素排序自然排序,比较器排序,唯一性,根据返回的值是否是0来决定
HashTable跟HashMap:多线程与单线程的区别。
List:有序可重复
Set:无序不可重复
Map:俗称字典,key value
Java集合类由两个接口派生:Collection和Map,其中Collection下主要有Set、List、Queue三个接口,而Map接口主要是各种Map接口。
Iterator接口用来迭代集合对象进行输出的,必须依赖于Collection才可使用
public List<Integer>list=new ArrayList<>(); public void each(){ list.add(1); list.add(2); Iterator c= list.iterator(); list.add(3);//这样就废了,已经给了迭代器对象了,不能再改变集合了ConcurrentModificationException while(c.hasNext()){ System.out.println(c.next()); } }
集合与数组区别:集合是可变的,数组编译时候就确定了大小,数组不但可以存基本数据类型也可存对象的引用,集合只可以存对象引用。
详细介绍:
ArrayList:单线程,基于数组开发,数组特性都有了
Vector:区别多线程,其他一样
LinkedList:基于双向链表 前指针 值 后指针,链表特性都有。
HashSet:基于hash表,元素唯一性依赖于hashCode()和equals(),得重写equals跟hashcode方法。
LinkedHashSet:基于链表和哈希表,链表保证元素有序,哈希表保证元素唯一
TreeSet:基于红黑树,元素排序自然排序,比较器排序,唯一性,根据返回的值是否是0来决定
HashTable跟HashMap:多线程与单线程的区别。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树