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

平板购物网站建设物联网设计与开发

平板购物网站建设,物联网设计与开发,天进机械东莞网站建设,免费asp网站源码个人主页→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.yayakq.cn/news/10322/

相关文章:

  • 龙游网站建设大连网站建设方法
  • 哪个小说网站防盗做的好做侵权视频网站
  • 温州市住房和城乡建设网站展台设计灵感网站
  • 建设手机网站例重庆网站建设行业新闻
  • 做淘宝的网站有哪些wordpress tag多条件选择
  • 网站建设策划结束语云游戏网页
  • 手机app开发网站建设杭州公司建设网站制作
  • 做网络销售保温材料用什么网站好网站开发 xmind
  • 织梦开发供需网站wordpress 登录后可看
  • wordpress 后台加入链接后_网站显示是标签_不是链接为啥浏览做的网站有移动条
  • 厦门网站建设网站四川建设部网站
  • 仁怀哪儿做网站免费金融发布网站模板
  • 如何建设一个查询网站做网站哪里最便宜
  • 绍兴网站建设专业的公司4000-262-建设网站的提成是多少
  • 湖南3合1网站建设电话建设商城网站
  • 广州科 外贸网站建设中国建筑论坛网
  • 简述网站的建设流程网站和服务器是什么关系
  • 建设网站的建设费用包括什么科目微信公众号网站开发本地调试
  • 广州易网网站建设营销型网站有哪些平台
  • 做信息类网站怎么赚钱百度打开百度搜索
  • 咸宁做网站公司网页制作平台flash
  • 书画网站 建站廊坊百度快照优化
  • 网站推广与seo的区别南昌seo实用技巧
  • 做期货应该看的网站wordpress团购主题
  • 哪种语言的网站 做seo更好重庆有专业做网站的吗
  • 微信网站制作方案百度推广要自己建站吗
  • 宁波招聘网站开发故事式软文范例100字
  • 单页面竞价网站辽阳企业网站建设费用
  • dw怎么做鲜花网站外贸营销网站推广
  • 网站建设在哪里发布企业网站宽度给多少