Java集合框架之LinkedList类

ArrayList用数组作为其保存元素的数据结构,而LinkedList采用的是链表的数据结构。而ArrayList和LinkedList都是线性表list。但LinkedList并不具备随机访问能力,而ArrayList拥有。

对于链表集合,首先(1)我们使用API里现成的LinkedList类来进行一些分析,之后(2)我们再用自身的java代码实现链表及其LinkedList中相对应的方法。

(1)现成API接口的分析使用

定义如下,与ArrayList类似。

LinkedList<String> test = new LinkedList<String>();

之前提到,LinkedList并不具备随机访问能力,也就意味着要是想删除某个元素,需要从头开始找,直到找到指定位置的元素,然后将其删除。我们试想下,要是这个待删除的元素排在链表的很后面,那么链表的这种遍历方式其实也是很费时间的。当然,如果是双向链表,那么对靠近链表头部和尾部的数据元素的操作还是比较方便的,但对处于链表中间的元素的操作就显得有些费劲。

时间: 2024-10-23 11:39:41

Java集合框架之LinkedList类的相关文章

【JAVA集合框架之工具类】

一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public class Collections extends Object 全类名:java.util.Collections public class Arrays extends Object 全类名:java.util.Arrays 二.Collections类. 1.Collections.sort

java集合框架04——LinkedList和源码分析

上一章学习了ArrayList,并分析了其源码,这一章我们将对LinkedList的具体实现进行详细的学习.依然遵循上一章的步骤,先对LinkedList有个整体的认识,然后学习它的源码,深入剖析LinkedList. LinkedList简介 首先看看LinkedList与Collection的关系: LinkedList的继承关系如下: java.lang.Object ? java.util.AbstractCollection<E> ? java.util.AbstractList&l

java 集合框架-利用LinkedList实现堆栈数据结构

/* 利用LinkedList来实现队列(先进先出)和堆栈(先进后出) 堆栈:后进先出 队列:先进先出 */ import java.util.*; /*队列:将LinkedList进行封装,实现队列先进先出的功能特点*/ class Duilie { private LinkedList link; Duilie() { link=new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); sop(link.g

Java集合框架之ArrayList类

ArrayList是一个泛型数据结构,即对象/引用类型是在<E>里进行确定的(E中定义的必须是对象/引用).例如,定义一个字符串类型的ArrayList为如下格式: ArrayList<String> test = new ArrayList<String>(); 我们可以看出,ArrayList<String>被看成了一个整体. 下面我们看一个简单的例子.代码如下: import java.util.ArrayList; public class Arra

异常处理、常用类、Java集合框架、反射

异常处理: 1.  异常:程序在执行过程中所产生的问题. 异常的三种类:①检查异常:又叫checdked异常或者受检异常.通常是用户错误或者不能被程序员所预见的问题.检查异常需要被解决之后才能通过编译. ②运行时异常:程序在运行过程中可能发生的.可以被程序员所避免的异常类型. ③错误:事实上错误不是异常,但却是用户和程序员无法控制的问题. 2.  异常的控制流程: 异常是被一个方法抛出的对象. (1) 处理异常的三个方法:①捕获这个异常,不让它沿着调用栈继续向下抛. ②捕获这个异常,并继续向下抛

Java集合框架--List、Set、Map

Java集合框架接口和类的层次结构: java.util.Collection [I] +--java.util.List [I] +--java.util.ArrayList [C] +--java.util.LinkedList [C] +--java.util.Vector [C] +--java.util.Stack [C] +--java.util.Set [I] +--java.util.HashSet [C] +--java.util.SortedSet [I] +--java.u

[转载] Java集合框架之小结

转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): 2.ArrayList初始化时不可指定容量,如果以new ArrayList()方式创建时,初始容量为10个:如果以new ArrayList(Collection c)初始化时,容量为c.size()*1.1,即增加10%的容量:当向ArrayList中添加一个元素时,先进行容器的容量调整,如果容

Java集合框架总结(3)——TreeSet类的排序问题

Java集合框架总结(3)--TreeSet类的排序问题 TreeSet支持两种排序方法:自然排序和定制排序.TreeSet默认采用自然排序. 1.自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然排序.(比较的前提:两个对象的类型相同). java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现该接口的类必须实现该

Java:集合框架的工具类

集合框架的工具类 Arrays:里面都是静态方法,直接用来对各种集合进行操作的公有方法. Collections:里面都是静态方法,直接用来对各种集合进行操作的公有方法. 包括: 1.asList将数组变成list集合: static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. //例子1: import java.util.*; class ArraysTest { public static void sop(Object o