List集合的完整解决方案

1 List接口介绍List集合的特点有序(存取顺序一致),有索引,元素可重复List集合常用子类ArrayListLinkedList2 List接口中常用方

大家好,今天给各位分享List集合的完整解决方案的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

有序(访问顺序一致)、有索引、元素可以重复

列出集合公共子类

数组列表

链表

2 List接口常用方法

public void add(int index, E element): 将指定元素添加到指定位置

public E get(int index): 根据index获取指定位置的元素

public E remove(int index): 删除指定位置的元素并返回被删除的元素

boolean remove(Object o): 删除指定元素,删除成功返回true,否则返回false

public E set(int index, E element): 修改指定位置的元素为指定值元素

List集合的完整解决方案

例子

import java.util.ArrayList;import java.util.List;public class ListDemo {public static void main(String[] args){//创建集合对象ListInteger list=new ArrayList();list.add(2); list .add(3);list.add(4);//将元素4 添加到索引1 位置list.add(1,4);//修改索引0 处的元素为6list.set(0,6); System.out.println(列表); //注意索引越界问题//list.add(5,6); //根据索引获取元素System.out.println(list.get(2)); //删除指定位置的元素//System.out.println(list.remove(1)); //删除元素1System.out.println(list.remove(Integer.valueOf(5)));System.out.println(list );}}

3 List接口的常用子类

数组列表

链表

3.1 ArrayList集合

/**

ArrayList集合的特点

有序(访问顺序一致)、有索引、元素可以重复

最底层是数组结构:增删慢,查询快,非线程安全,效率高。

List集合的完整解决方案

*/

import java.util.ArrayList;public class ArrayListDemo {public static void main(String[] args){//创建ArrayList集合对象ArrayListString list=new ArrayList();list.add(‘A’) ;list.add(‘ B’) ;list.add(‘C’) ;System.out.println(list);}}

3.2 LinkedList集合

LinkedList集合特点

实现List接口

有序(访问顺序一致)、有索引、元素可以重复

底层是双链表结构,查询慢,增删快,非线程安全,效率高。

LinkedList 集合特定的方法

public void addFirst(E e): 将元素添加到链表的头部

public void addLast(E e): 将元素添加到链表末尾

List集合的完整解决方案

public E getFirst(): 获取链表的头元素

public E getLast(): 获取链表尾部元素

public E removeFirst(): 删除链表头元素

public E removeLast(): 删除链表尾部元素

例子

import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){//创建LinkedList集合对象LinkedListString list=new LinkedList();list.add(‘A’);list.add( 0 ,’B’);//向链表头部添加元素list.addFirst(‘C’);//向链表末尾添加元素list.addLast(‘D’);list.add (‘E’);//获取链表头元素System.out.println(list.getFirst()); //获取链表尾部元素System.out.println(list.getLast());System.out.println(list);System.out. println(list.get(3));//删除链表头元素System.out.println(list.removeFirst());//删除链表尾元素System.out.println(list .removeLast());}}

4 ArrayList 和LinkedList 之间的选择

用户评论

List集合的完整解决方案
独角戏°

终于找到一个关于List集合完整的讲解了!之前一直卡在一些细节上,这篇博文把很多关键点都清晰地解释了,受益匪浅呀!

    有20位网友表示赞同!

List集合的完整解决方案
虚伪了的真心

这篇博文写的真不错,而且讲解很通俗易懂,即使对编程不太熟悉的我也能理解。希望以后博主还能分享更多关于Java高级知识的干货。

    有16位网友表示赞同!

List集合的完整解决方案
Edinburgh°南空

虽然List集合的使用比较常见,但我总感觉学的不够透彻。看了这篇全解,很多点都让我恍然大悟!特别是关于并发和线程安全那一部分,真是太棒了!

    有7位网友表示赞同!

List集合的完整解决方案
玩味

对List集合的理解确实很重要,因为在实际项目中经常会使用到。我以前只是简单的调用过API,没想过内部机制是怎么运作的。这篇博文开拓了我的眼界,我会好好学习一下。

    有18位网友表示赞同!

List集合的完整解决方案
╯念抹浅笑

LIST集合确实很常用的,但我觉得这篇文章写的有点过于复杂了。对于初学者来说可能难以理解,希望能简化一些描述。

    有5位网友表示赞同!

List集合的完整解决方案
花菲

这个“全解”好像还没把所有List集合的细节都涵盖到吧?比如我比较想知道关于动态扩容机制的详细解释,这篇博文就略过了。

    有19位网友表示赞同!

List集合的完整解决方案
有阳光还感觉冷

感觉写的太好了!之前一直想理解List集合的底层实现原理,这篇博文终于让我解决了疑问。期待博主继续分享更多高层次的设计模式和算法讲解!

    有18位网友表示赞同!

List集合的完整解决方案
一尾流莺

这个标题有点虚假宣传的感觉吧?我看了半篇文章才发现并没有什么太多“全解”的味道。有些概念的描述也比较抽象,缺乏实际案例。

    有18位网友表示赞同!

List集合的完整解决方案
涐们的幸福像流星丶

List集合的学习确实需要花时间琢磨才能真正理解它的优缺点。这篇博文虽然没有深度解答我的所有疑惑,但也让我了解了List集合的一些关键特性,很有帮助!

    有11位网友表示赞同!

List集合的完整解决方案
荒野情趣

对于新手来说,这份完整的讲解确实非常有用!但是对于比较熟悉Java框架和数据结构的开发者来说,可能有些内容重复或过于基础,希望能针对更高级的使用场景进行深入讲解。

    有13位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/164757.html

(0)
小su的头像小su
上一篇 2小时前
下一篇 2小时前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注