一、Java中集合 Java中集合类是Java编程中使用最频繁、最方便的类。集合类作为容器类可以存储任何类型的数据,当然也可以结合泛型存储指定的类型(不过泛型仅仅在编译期有效,运行时是会被擦除的)。集合类中存储的仅仅是对象的引用,并不存储对象本身。集合类的容量可以在运行期间进行 ...
一、Java中集合
Java中集合类是Java编程中使用最频繁、最方便的类。集合类作为容器类可以存储任何类型的数据,当然也可以结合泛型存储指定的类型(不过泛型仅仅在编译期有效,运行时是会被擦除的)。集合类中存储的仅仅是对象的引用,并不存储对象本身。集合类的容量可以在运行期间进行动态扩展,并且还提供很多很方便的方法,如求集合的并集、交集等。
二、集合类结构
Java中的集合包含多种数据结构,如链表、队列、哈希表等。从类的继承结构来说,可以分为两大类,一类是继承自Collection接口,这类集合包含List、Set和Queue等集合类。另一类是继承自Map接口,这主要包含了哈希表相关的集合类。下面我们看一下这两大类的继承结构图:
1、List、Set和Queue
图中的绿色的虚线代表实现,绿色实线代表接口之间的继承,蓝色实线代表类之间的继承。
(1)List:我们用的比较多List包括ArrayList和LinkedList,这两者的区别也很明显,从其名称上就可以看出。ArrayList的底层的通过数组实现,所以其随机访问的速度比较快,但是对于需要频繁的增删的情况,效率就比较低了。而对于LinkedList,底层通过链表来实现,所以增删操作比较容易完成,但是对于随机访问的效率比较低。
我们先看下两者的插入效率:
1 package com.paddx.test.collection; 2 3 import java.util.ArrayList; 4 import java.util.LinkedList; 5 6 public class ListTest { 7 public static void main(String[] args) { 8 for(int i=0;i<10000;i++){ 9 10 }11 long start = System.currentTimeMillis();12 13 LinkedList<Integer> linkedList = new LinkedList<Integer>();14 for(int i=0;i<100000;i++){15 linkedList.add(0,i);16 }17 18 long end = System.currentTimeMillis();19 System.out.println(end - start);20 21 ArrayList<Integer> arrayList = new ArrayList<Integer>();22 for(int i=0;i<100000;i++){23 arrayList.add(0,i);24 }25 26 System.out.println(System.currentTimeMillis() - end);27 }28 }
原标题:Java集合:整体结构
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。