当前位置: 首页 > news >正文

国际知名的论文网站1688官网

国际知名的论文网站,1688官网,宝安网站建设公司,环球易购招聘网站建设个人主页→VON 收录专栏→java从入门到起飞 目录 ​编辑 一、前言 二、List集合简要概述 三、List集合主要函数的应用 四、List集合的遍历 五、思考 一、前言 List集合与Collection集合的相同之处还是挺多的,不过有些小细节又不太一样,其中有一个…

dc36953054264521b68a923efe53222c.png个人主页→VON

cebd6b4f65b24cda84e774c03af300c0.png收录专栏→java从入门到起飞

目录

​编辑

一、前言

二、List集合简要概述

三、List集合主要函数的应用

四、List集合的遍历

五、思考


一、前言

List集合与Collection集合的相同之处还是挺多的,不过有些小细节又不太一样,其中有一个挺有意思的地方,就是删除元素的那个地方,希望能够给大家讲明白。最近更新速度可能会特别的慢,希望大家多多理解。

二、List集合简要概述

在Java中,List 是一种常用的集合类型,它允许存储任意类型的对象,并且提供了按照插入顺序来维护元素的有序集合。List 接口是 Java 集合框架的一部分,定义了可以用于任何列表实现的一组方法。List 的主要实现包括 ArrayListLinkedListVector(以及它的子类 Stack),每种实现都有其特定的性能特点和使用场景。

  1. ArrayList:实现了可变大小的数组,它允许在列表中间进行快速随机访问,但是插入和删除操作(特别是在列表的中间位置)会相对较慢,因为这需要重新分配数组的大小并移动元素。

  2. LinkedList:使用双向链表来存储元素,这意味着它可以在 O(1) 时间复杂度内插入或删除元素,但是访问元素的速度比 ArrayList 慢,因为它需要从头开始遍历直到找到目标节点。

  3. Vector:类似于 ArrayList,但是 Vector 中的方法是同步的(synchronized),这意味着它是线程安全的,可以用于多线程环境。然而,由于同步带来的性能开销,Vector 在非同步环境中通常不如 ArrayList 性能好。

除了这些基本的实现之外,还有一些常见的视图类,比如 Collections.unmodifiableList() 返回一个不可修改的列表,这样可以创建只读的数据结构。

List 接口提供了一系列方法来操作列表中的元素,例如添加(add())、删除(remove())、查找(get())、替换(set())等。此外,还有 size() 方法来获取列表中元素的数量,以及 isEmpty() 方法来检查列表是否为空等等。

使用 List 集合时,可以根据具体的应用需求选择最适合的实现方式。例如,如果你需要频繁地插入和删除元素,那么 LinkedList 可能是最好的选择;如果你需要频繁地访问列表中的元素并且不太关心插入和删除的效率,那么 ArrayList 将是一个更好的选择。

三、List集合主要函数的应用

package ArrayDemo.ListDemo;import java.util.ArrayList;
import java.util.List;public class A01_ListDemo01 {public static void main(String[] args) {// 1.创建集合并添加元素List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");list.add("e");// 2.打印集合System.out.println(list);// [a, b, c, d, e]// 3.在集合中指定位置添加元素// void add(int index,E element)// 原来索引上的元素会依次后移list.add(2,"aaa");System.out.println(list);// [a, b, aaa, c, d, e]// 4.删除指定索引的元素,返回被删除的元素// E remove(int index)list.remove(1);System.out.println(list);// [a, aaa, c, d, e]// 5.修改指定位置的元素,返回被修改的元素// E set(int index, E element)list.set(1,"bbb");System.out.println(list);// [a, bbb, c, d, e]// 6.返回指定索引处的元素// E get(int index)System.out.println(list.get(2));// c}
}

list集合中主要用到的函数就这么几个,需要注意的地方我都已经添加了注释,希望大家能够更好的去理解。 

四、List集合的遍历

package ArrayDemo.ListDemo;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;public class A03_ListDemo03 {public static void main(String[] args) {/*List集合的五种遍历方式:1.迭代器2.列表迭代器3.增强for4.Lambda表达式5.普通for循环*/// 1.创建集合并添加元素List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");list.add("e");list.add("f");// 2.迭代器Iterator<String> it = list.iterator();while(it.hasNext()){System.out.println(it.next());}System.out.println("---------------------------------");// 3.列表迭代器// 获取一个列表迭代器对象,里面的指针也是默认从0开始的// 额外添加了一个方法:在遍历的过程中,可以添加元素ListIterator<String> it1 = list.listIterator();while(it1.hasNext()){String str = it1.next();if("b".equals(str)){it1.add("aaa");}}System.out.println(list);System.out.println("---------------------------------");// 4.增强forfor (String s : list) {System.out.println(s);}System.out.println("---------------------------------");// 5.Lambda表达式// forEash方法的底层其实就是一个循环遍历,依次得到集合中的每一个元素// 并把集合中的元素传递给accept方法list.forEach(s-> System.out.println(s));System.out.println("---------------------------------");// 6.普通for循环for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}System.out.println("---------------------------------");}
}

说句不好听的,我个人感觉熟练运用一种就可以了,从我的角度出发,我感觉增强for循环挺好用的,毕竟for循环用的比较多,所以对for情有独钟。 

五、思考

不知道大家有没有思考过这个问题,如果集合中全都是数字,应该怎样去删除这个元素呢?

应该都能看到remove的源码中传入的参数是index,所以会优先根据下标进行删除。

解决方法:

http://www.hkea.cn/news/166179/

相关文章:

  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典