您的位置:首页 > 编程语言 > Java开发

java集合相关知识

2016-05-14 15:32 603 查看
集合大致分为三类

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