`
xiaoxuan_blog
  • 浏览: 28790 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java基础之List和LinkedList

阅读更多

简单总结一下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

特有方法。凡是可以操作角标的方法都是该体系特有的方法。

addindexelement);

addAllindexCollection);

removeindex);

setindexelement);

getindex);

subListfromto);

listIterator();

 

List集合特有d迭代器。ListIteratorIterator的子接口。

 

在迭代时,不可以通过集合对象的方法操作集合中的元素。

因为会发生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详解

    下面小编就为大家带来一篇java集合 collection-list-LinkedList详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Map+List+ArrayList+LinkedList Java源码

    Map+List+ArrayList+LinkedList Java源代码,适合初学者

    java基础--list(ArrayList、LinkedList、匿名类).docx

    List最全总结( ArrayList, LinkedList, 匿名类)

    javalist数据结构-Java数据结构-------List.pdf

    javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了...

    Java经典的List面试题目

    Java经典的List面试题目: 1、你知道的 List 都有哪些? 2 、List 和 Vector 有什么区别? 3 、List 是有序的吗? 4 、ArrayList 和 LinkedList 的区别?分别用在什么场景? 5 、ArrayList 和 LinkedList 的底层数据...

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    java中set、list和map的使用方法实例

    // 常用的list接口的实现类有ArrayList和LinkedList // 学习map对象容器的使用 // map对象容器里面储存的元素是(key,value)形式的键值对,比如(a,1)(b,20)(c,55) // key不可以重复,value可以重复 // 常用的map接口...

    LinkedList详解和使用示例_动力节点Java学院整理

    LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或...LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。

    区分Java中的ArrayList和LinkedList

    主要介绍了如何区分Java中ArrayList和LinkedList,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    javalist源码-LinkedList-in-Java:链表的Java源代码实现

    java list原始代码Java中的LinkedList

    如何实现Java中一个简单的LinkedList

    LinkedList与ArrayList都是List接口的具体实现类。下面将介绍如何实现一个简单的LinkedList,具有很好的参考价值,下面跟着小编一起来看下吧

    JAVA SE 开发手册.CHM

    14、JAVA集合框架之list接口、LinkedList类、ArrayList类、Vector类 15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18...

    比较ArrayList、LinkedList、Vector1

    1. List概述List,就如图名字所示一样,是元素的有序列表 3. ArrayList示例[java] view plain copy public sta

    尚硅谷-深入java8的集合2:LinkedList的实现原理.pdf

    本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进...·Java语言基础阶段:12720行代码,Java语言高级阶段:11684行代码 ·课堂实战项目3套,课后实战项目2套 ·近百道企业面试真题精讲精练、极具实战性

    Java基础知识点.html

    哈希值 LinkedHashSet TreeSet 自然排序Comparable 比较器排序Comparator Set集合 并发修改异常 LinkedList集合 ArrayList集合 List集合 Collection集合概述 冒泡排序 Object 异常 Math 包装类 Calendar类 ...

    LinkedList.java

    LinkedList.java

    Java基础部分 Java代码查错算法与编程html&JavaScript&ajax部分面试题

    64、说出ArrayList,Vector, LinkedList的存储性能和特性 2 65、去掉一个Vector集合中重复的元素 2 66、Collection 和 Collections的区别。 2 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==...

    Java集合框架List接口.pdf

    而LinkedList是一个基于链表实现的List,它在插入和删除元素时效率比ArrayList高,但是随机访问元素则需要遍历链表,效率较低。 List接口常用的方法 1、void add(int index, E element):在指定索引位置插入元素。 2...

    Java中ArrayList和LinkedList的遍历与性能分析

    主要给大家介绍了ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。相信对大家的理解和学习具有一定的参考价值,有需要的...

Global site tag (gtag.js) - Google Analytics