您的位置:首页 > 其它

集合相关知识

2017-04-24 14:27 225 查看
一、数组Array和集合的区别:


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class javaTest2 implements javaTest1 {

public static void main(String[] args) {
List list=new ArrayList();
list.add(1);
list.add(5);
list.add('a');

for (Object object : list) {
System.out.print(object+"  ");
}
System.out.println();

for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"  ");
}
System.out.println();

Iterator it=list.iterator();
while(it.hasNext()){
System.out.print(it.next()+"  ");
}
}
}


运行结果:

1  5  a
1  5  a
1  5  a


Set只有两种遍历方式 (1)foreach遍历 (2)Iterator迭代器遍历

Set set=new HashSet();
set.add(1);
set.add(3);
set.add('b');

for (Object object : set) {
System.out.print(object+" ");
}
System.out.println();

Iterator its=set.iterator();
while(its.hasNext()){
System.out.print(its.next()+" ");
}


运行结果:

1 b 3
1 b 3


六、集合具体实现化类的区别

1、Set实现:HashSet、TreeSet和LinkedSet区别

HashSet将其元素储存在一个哈希表中,它具有最好的性能实现,然而它不保证迭代的顺序;TreeSet将其元素存储在一个红黑树追踪,按元素的值顺序排列,它本质上比HashSet要慢;LinkedHashSet是作为哈希表实现的,用链表链接这些元素,按元素的插入顺序排列

2、List实现 ArrayList和LinkedList

一般大家都知道ArrayList和LinkedList的大致区别:
(1).ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
(2).对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
(3).对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

3、Map实现: HashMap、TreeMap和LinkedMap区别

他们的行为和执行性能和Set中的实现HashSet、TreeSet和LinkedSet类似。另外Hashtable(哈希表)重新实现了Map

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: