数据结构中线性表有两种存储结构:顺序结构和链式结构。
顺序结构需要一串连续的存储空间依次存放线性表中的元素,链式结构不需要连续的存储空间,在前一个结点存放后一个结点的地址。
顺序结构的优点是可以随机存取,缺点是插入删除时要大量的移动数据,而且有可能造成空间上的浪费。链式结构随机访问和遍历的速度比较慢,但是可以实现动态的插入和删除。
我们常用list和map来保存数据。类层次关系如下:
Collection
├List
├LinkedList
├ArrayList
└Vector
└Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
List:Java中List是一个接口,它有是三个实现类,LinkedList、ArrayList和Vector。
ArrayList使用较多,它以数组的结构实现List,可以实现随机存取,但是插入和删除操作时,消耗较大。
LinkedList以链表的结构实现List,可以动态的插入、删除数据,另外,他还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。
Vector也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
参考:http://blog.csdn.net/abbuggy/article/details/7720666
http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857791.html
相关推荐
9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类....
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法
// 常用的list接口的实现类有ArrayList和LinkedList // 学习map对象容器的使用 // map对象容器里面储存的元素是(key,value)形式的键值对,比如(a,1)(b,20)(c,55) // key不可以重复,value可以重复 // 常用的map接口...
计算机后端-Java-Java核心基础-第24章 集合01 13. List接口常用实现类的对比.avi
List接口有多个实现类,其中比较常用的是ArrayList和LinkedList。ArrayList是一个基于动态数组实现的List,它可以随机访问元素,并且在末尾添加元素非常快速,但在中间插入或删除元素则需要移动其他元素,效率较低。...
整个测试代码如下: package find; import java.io.File; import java.io.IOException; import java.net.URL; import java.util.ArrayList;... import java.util.List;... System.out.println("接口实现类:
前三步和人脸检测代码一样 ...第四步 Token和工具类准备完毕,写人脸对比代码 ...import java.util.List; import java.util.Map; public class FaceMatch{ /** * 重要提示代码中所需工具类 * FileUtil,Ba
98、Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 ...
ThreadImRunnable.java 继承Runnable接口实现多线程 mulThread.java 创建多个线程对象的类 demoJoin.java 演示使用join()以确保主线程最后结束 clicker.java 一个计数用的线程类 demoPri.java 调用上面这个类...
实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表<接口>)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: ...
Date类中包含了日期和时间,在Java编程中,日期通常指年、月、日,时间则指时、分、秒、毫秒。Java对Date进行格式化使用java.text.DateFormat类。在格式表示中,经常采用4种格式,这四种格式被定义为DateFormat类的...
5 抽象类、接口与内部类 编写程序实现类的继承、与接口的编写。 6 异常 编程实现处理异常的语句,理解处理与抛出的区别,学会自定义异常。 7 Java流 用输入输出流实现从一个文本文件中读写简单数据。 8 泛型与容器...
实现类:8个实现类(实线表示),对接口的具体实现。 在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本...
Java集合类是Java.util包中的重要内容,它提供了一套性能优良、使用方便的接口...List接口的实现类包括ArrayList、LinkedList等。 Set接口是无序的集合,元素不能重复。Set接口的实现类包括HashSet、LinkedHashSet等。
Java集合框架概述 Java集合框架是一个抽象数据类型的框架,它提供了一组接口和类,可用于处理各种...2、List接口 List接口是有序集合,可以存储重复元素。它定义了有序的列表,可以根据索引位置访问列表中的元素。List
Map接口有哪些实现类? 描述一下Map put的过程 如何得到一个线程安全的Map? HashMap有什么特点? ConcurrentHashMap是怎么分段分组的? ConcurrentHashMap是怎么分段分组的? 介绍LinkedHashMap的底层原理 请介绍...
3)了解List接口及主要实现类(ArrayList、LinkedList、Vector) 4)了解Map接口及主要实现类(HashMap、TreeMap、HashTable) 二、实验内容及步骤 1、编写程序练习将以下5个Person类的对象放在一个HashSet中。 姓名...
3. Collection与List接口方法 4. Queue与Deque接口方法 5. 源码参考
1、List,Set,map都是继承自Collection接口,... 3、List接口有三个实现类:LinkedList,ArrayList,Vector ,Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet Collection / / /