简单总结一下List集合和LinkedList集合
-----ArrayList
<!--[if !supportLists]-->1.<!--[endif]-->add方法的参数类型是Object 。可以接受任意类型对象。
<!--[if !supportLists]-->2.<!--[endif]-->集合中存储的都是对象的引用(地址)。
List集合共性方法:
Connllection
|----List:元素是有序的,元素可以重复,因为该集合体系由索引。
|----ArrayList:底层的数据结构使用的是数据结构。特点:查询速度很快 增删稍慢
|----LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询速度稍慢。
|----Vector:底层是数组数据结构。 线程同步, ArrayList线程不同步,被替代了
|----Set: 元素是无序的,元素不可以重复。
|----HashSet:数据结构是哈希表。 线程是非同步的。
保证元素唯一性的远离:判断元素的hashCode值是否相同。
如果相同,还会急需判断元素的equals方法,是否为true。
|----TreeSet:可以对Set集合中的元素进行排序。
底层数据结构是二叉树。
保证元素唯一性的依据。
compareTo方法return 0 。
TreeSet排序的第一种方式:让元素自身具备比较性。
元素需要实现Comparable接口,覆盖compareTo方法。
这种方式也称为元素的自然顺序,或者叫做默认顺序。
TreeSet的第二种排序方式。
当元素自身不具备比较性时,或者就具备的比较性不是所需要的。
这时就需要让集合自身具备比较性。
在集合初始化时,就有了比较方式。
List:
特有方法。凡是可以操作角标的方法都是该体系特有的方法。
增
add(index,element);
addAll(index,Collection);
删
remove(index);
改
set(index,element);
查
get(index);
subList(from,to);
listIterator();
List集合特有d迭代器。ListIterator是Iterator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素。
因为会发生ConcurrentModificationException异常。(并发修改异常)
所以,在迭代器时,只能用迭代器的放过操作元素,可是Iterator方法是有限的,
只能对元素进行判断,取出,删除的操作,
如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator。
该接口只能通过List集合的listIterator方法获取。
集合框架(Vector中的枚举)
枚举就是Vector 特有的取出方式。
发现枚举和迭代器很想。 其实枚举和迭代式一样的。
因为枚举的名称以及方法的名称都过长。
所以被迭代器取代了,,,枚举郁郁而终了。。。
集合框架(LinkedList)
LinkedList:特有方法:
addFirst();
addLast();
getFirst();
getLast();
获取元素但不删除元素,如果集合中没有元素,会出现NoSuchElementException异常
removeFirst();
removeLast();
获取元素但元素被删除,如果集合中没有元素,会出现NoSuchElementException异常
在JDK1.6版本后出现了替代方法:
offerFirst();
offerLast();
PeekFirst();
peekLast();
获取元素,但不删除元素,如果集合中没有元素,会返回null。
pollFirst();
pollLast();
获取元素,但元素被删除,如果集合中没有元素,会返回null。
<!--EndFragment-->
相关推荐
下面小编就为大家带来一篇java集合 collection-list-LinkedList详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Map+List+ArrayList+LinkedList Java源代码,适合初学者
List最全总结( ArrayList, LinkedList, 匿名类)
javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了...
Java经典的List面试题目: 1、你知道的 List 都有哪些? 2 、List 和 Vector 有什么区别? 3 、List 是有序的吗? 4 、ArrayList 和 LinkedList 的区别?分别用在什么场景? 5 、ArrayList 和 LinkedList 的底层数据...
《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...
// 常用的list接口的实现类有ArrayList和LinkedList // 学习map对象容器的使用 // map对象容器里面储存的元素是(key,value)形式的键值对,比如(a,1)(b,20)(c,55) // key不可以重复,value可以重复 // 常用的map接口...
LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或...LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。
主要介绍了如何区分Java中ArrayList和LinkedList,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
java list原始代码Java中的LinkedList
LinkedList与ArrayList都是List接口的具体实现类。下面将介绍如何实现一个简单的LinkedList,具有很好的参考价值,下面跟着小编一起来看下吧
14、JAVA集合框架之list接口、LinkedList类、ArrayList类、Vector类 15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18...
1. List概述List,就如图名字所示一样,是元素的有序列表 3. ArrayList示例[java] view plain copy public sta
本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进...·Java语言基础阶段:12720行代码,Java语言高级阶段:11684行代码 ·课堂实战项目3套,课后实战项目2套 ·近百道企业面试真题精讲精练、极具实战性
哈希值 LinkedHashSet TreeSet 自然排序Comparable 比较器排序Comparator Set集合 并发修改异常 LinkedList集合 ArrayList集合 List集合 Collection集合概述 冒泡排序 Object 异常 Math 包装类 Calendar类 ...
LinkedList.java
64、说出ArrayList,Vector, LinkedList的存储性能和特性 2 65、去掉一个Vector集合中重复的元素 2 66、Collection 和 Collections的区别。 2 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==...
而LinkedList是一个基于链表实现的List,它在插入和删除元素时效率比ArrayList高,但是随机访问元素则需要遍历链表,效率较低。 List接口常用的方法 1、void add(int index, E element):在指定索引位置插入元素。 2...
主要给大家介绍了ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。相信对大家的理解和学习具有一定的参考价值,有需要的...