如上图所示,list集合是 Collection 接口的子接口,它是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0)、且可重复的集合,他有三个实现类,如下:

ArrayList

add方法,用来向集合增加元素的

List<String> list=new ArrayList<>();
list.add("add");
String a="集合";
list.add(a);
list.add("为什么");
list.add(1,"特殊");

list里面add方法里面的参数取决于List是什么类型的,这里是Sting类型的集合,所以要向里面插入String类型的参数,第二种add里面有两个参数,第一个是索引,第二个是要插入的参数

上图显示的情况是由于ArrayList的底层是数组的形式,向中间插入值的话,后面的数值会全部向后移动一位,这也是ArrayList增加删除的效率为什么低的原因

remove方法,用来删除该索引下的元素

list.remove(1);

remove里面的参数是集合的索引

indexOf方法,用来获取元素对应的索引的,但是只是返回集合中第一个元素的索引,

list.indexOf("为什么");

括号里面的参数是你要返回索引对应的元素的

set方法,用来替换索引对应的元素的

 list.set(0,"初始化");

第一个元素是索引,第一个是你要替换成为的参数

get方法。用来获取索引对应的元素的

list.get(1);

括号里面是索引,一般都会用变量放入括号里面的

lastIndexOf方法,一般用来返回元素最后在集合出现的索引

list.lastIndexOf("为什么");

addAll方法,向集合里面添加另一个集合的元素

list.addAll(2,newlist);

括号里面第一个参数为要添加的位置索引,第二个是要添加的集合,和前面一样,添加时,所有元素会向后移动

subList方法,截取一个新的集合

List<String> newList=list.subList(1,3);

括号里有两个参数,第一个是截取开始位置的索引,第二个是截取结束位置的索引

list集合中的实现类ArrayList的更多相关文章

  1. Java集合中的LinkedHashMap类

    jdk1.8.0_144 本文阅读最好先了解HashMap底层,可前往<Java集合中的HashMap类>. LinkedHashMap由于它的插入有序特性,也是一种比较常用的Map集合. ...

  2. 集合中的工具类Collections和Arrays

    集合框架的工具类: Collections: 方法sort(): List<String> list = new ArrayList<String>();        lis ...

  3. 【java基础 17】集合中各实现类的性能分析

    大致的再回顾一下java集合框架的基本情况 一.各Set实现类的性能分析 1.1,HashSet用于添加.查询 HashSet和TreeSet是Set的两个典型实现,HashSet的性能总是比Tree ...

  4. Java集合中的HashMap类

    jdk1.8.0_144 HashMap作为最常用集合之一,继承自AbstractMap.JDK8的HashMap实现与JDK7不同,新增了红黑树作为底层数据结构,结构变得复杂,效率变得更高.为满足自 ...

  5. 面试:在面试中关于List(ArrayList、LinkedList)集合会怎么问呢?你该如何回答呢?

    前言 在一开始基础面的时候,很多面试官可能会问List集合一些基础知识,比如: ArrayList默认大小是多少,是如何扩容的? ArrayList和LinkedList的底层数据结构是什么? Arr ...

  6. C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;

    ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口:       2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...

  7. 集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

    List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. ...

  8. 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

    ---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...

  9. Java集合中那些类是线程安全的

    线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...

  10. java中的ArrayList 使得集合中的对象不重复

    JAVA中的List接口存放的元素是可以重复的,在这个我重写对象里面的equals()方法,让集合里存放的对象不能重复 首先建一个类,在里面的main()方法中实现 list1中存放的是可以重复对象的 ...

随机推荐

  1. PostgreSQL中查看版本的几种方式

    PostgreSQL中查看版本的几种方式 1.SQL方式 1 2 3 4 5 6 7 8 9 10 postgres=# show server_version;  server_version -- ...

  2. pika

    生产者代码 # -*- coding: utf-8 -*- # pylint: disable=C0111,C0103,R0205 import json import pika from pika. ...

  3. 记录一个错误:Traceback (most recent call last): from pip._internal.cli.main import main ImportError: No module named pip._internal.cli.main

    问题描述 在安装yaml时得到报错如下 root@ag-virtual-machine:/home/ag/test_script# pip install pyyaml Traceback (most ...

  4. 【LeetCode贪心#07】分糖果(两个维度)

    发糖果 力扣题目链接(opens new window) 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖 ...

  5. 框架和MVC架构

    网络框架及MVC架构 网络框架 所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议.线程.进程等方面.这样能大大提高开发者的工作效率,同 ...

  6. 【Azure Developer】使用 Microsoft Graph API查看用户状态和登录记录

    问题描述 通过Microsoft Graph的API如何来查看用户信息和登录记录呢? 问题解答 第一步:需要一个授权Token 比如一个拥有查看用户权限的Azure账号,通过Azure CLI 命令获 ...

  7. vue3在typescript下对props类型判断

    使用vue3.0 对 props 进行复杂类型验证的时候,可以直接用 PropType 进行强制转换: callback: Function as PropType<()=>void> ...

  8. MDC实现微服务链路追踪

    一.问题背景 在微服务架构中,我们没办法快速定位用户在一次请求中对应的所有日志,在排查生产问题的时候会非常困难,那是因为我们在输出的日志的时候没把请求的唯一标示输出到我们的日志中,导致我们没办法根据一 ...

  9. 脑电测量ADS1299芯片调试总结

    问题一:读出来ID不对? 笔者经过查阅官网资料和测试,发现这个一般是上电或者启动次序不对引起的. 特别是上电次序不同会导致这类问题. 问题二:内部时钟和外部时钟的选择是什么? 就拿内部时钟来说吧,首先 ...

  10. SVN迁移到Git,并同步提交记录

    原文:SVN迁移到Git,并同步提交记录 - Stars-One的杂货小窝 公司的旧项目存放在SVN,现准备迁移到Git,研究了下,简单记录一下从SVN迁移到Git的操作 步骤 1.创建一个空白文件夹 ...