Java List集合的介绍与常用方法
List接口的介绍
- List接口简介:
- java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。
- 在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访可集合中的指定元素。另
- 外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致
List接口的特点
- 1.
- 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的。
- 2.
- 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
- 3.
- 集合中可以有重复的元素,通过元素的 equals方法,来比较是否为重复的元素。
List接口中带索引的(特有)方法
- // 1、将指定的元素,添加到该集合中的指定位置上。
- public void add(int index, E element)
- // 2、返回集合中指定位置的元素。
- public E get(int index)
- // 3、移除列表中指定位置的元素,返回的是被移除的元素。
- public E remove(int index)
- // 4、用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
- public E set(int index, E element)
add()方法
说明:hasNext()方法,获取迭代器是否含有下一个元素(含有就返回true)
next()方法,获取迭代器下一个元素
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- public class DemoListAdd {
- public static void main(String[] args) {
- // 创建集合对象
- List<String> arrayList = new ArrayList<>();
- // 往集合的指定位置上添加给定的元素
- arrayList.add(, "Index 0 元素");
- arrayList.add(, "Index 1 元素");
- arrayList.add(, "Index 2 元素");
- // 遍历集合,查看结果
- // 获取迭代器对象
- Iterator<String> ite = arrayList.iterator();
- // 输出
- while (ite.hasNext()) {
- System.out.println(
- ite.next()
- );
- }
- }
- }
- 输出结果:
- Index 0 元素
- Index 1 元素
- Index 2 元素
get()方法
- import java.util.ArrayList;
- import java.util.List;
- public class DemoListGet {
- public static void main(String[] args) {
- // 创建集合对象
- List<String> arrayList = new ArrayList<>();
- // 往集合的指定位置上添加给定的元素
- arrayList.add(0, "Index 0 元素");
- arrayList.add(1, "Index 1 元素");
- arrayList.add(2, "Index 2 元素");
- // 获取指定位置中集合的元素
- String index0 = arrayList.get(0);
- String index1 = arrayList.get(1);
- String index2 = arrayList.get(2);
- // 输出
- System.out.println("索引0处的元素:" + index0);
- System.out.println("索引1处的元素:" + index1);
- System.out.println("索引2处的元素:" + index2);
- }
- }
- 输出结果:
- 索引0处的元素:Index 0 元素
- 索引1处的元素:Index 1 元素
- 索引2处的元素:Index 2 元素
remove()方法
- public class DemoListRemove {
- public static void main(String[] args) {
- // 创建集合对象
- List<String> arrayList = new ArrayList<>();
- // 往集合的指定位置上添加给定的元素
- arrayList.add(0, "元素0");
- arrayList.add(1, "元素1");
- arrayList.add(2, "元素2");
- // 查看集合
- System.out.println("移除元素前:" + arrayList);
- // 删除集合中的部分元素
- arrayList.remove(1);
- System.out.println("移除元素1后:" + arrayList);
- }
- }
- 输出结果:
- 移除元素前:[元素0, 元素1, 元素2]
- 移除元素1后:[元素0, 元素2]
注意:移除一个元素以后,在被移除元素的后面的每个元素索引减1
set()方法
- import java.util.ArrayList;
- import java.util.List;
- public class DemoListSet {
- public static void main(String[] args) {
- // 创建集合对象
- List<String> arrayList = new ArrayList<>();
- // 往集合的指定位置上添加给定的元素
- arrayList.add(0, "原始元素0");
- arrayList.add(1, "原始元素1");
- arrayList.add(2, "原始元素2");
- // 查看集合
- System.out.println("集合被替换元素前:" + arrayList);
- // set方法替换指定位置的元素
- arrayList.set(0, "替换元素0");
- System.out.println("集合被替换元素后:" + arrayList);
- }
- }
- 集合被替换元素前:[原始元素0, 原始元素1, 原始元素2]
- 集合被替换元素后:[替换元素0, 原始元素1, 原始元素2]
Java List集合的介绍与常用方法的更多相关文章
- list集合的介绍和常用方法
List接口介绍 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象成为List集合.在List集合中允许出现重复的元素,所 ...
- java基础集合底层介绍
ArrayList.Vector.HashMap.HashTable.HashSet的默认初始容量.加载因子.扩容增量 这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或 ...
- Java集合简单介绍
再最前面分享一下我再学习集合时的方法: 1.首先了解各集合的定义和特点 2.集合的构造方法和常用方法(增删改查等) 3.了解集合使用的场景,再什么情况下使用什么类型的集合(关键是集合的特性) 4.了解 ...
- Java之集合初探(一)
一.集合概述.区别 集合是一种容器,数组也是一种容器 在Java编程中,装各种各样的对象(引用类型)的叫做容器. 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的 ...
- java基础---集合(1)
一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.ut ...
- 谈谈Java的集合组件
让我们一起谈谈Java的集合组件 我们在使用Java的时候,都会遇到并使用到Java的集合.在这里通过自己的理解和网上的资源对Java的集合方面的使用做一个简单的讲解和总结. Java主要分为3个集合 ...
- Java基础——集合框架
Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...
- Java学习-集合(转)
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- 浅谈Java的集合框架
浅谈Java的集合框架 一. 初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...
随机推荐
- Java一行代码可声明多个同类变量
Java支持一句语句声明多个同类变量. Example: String a = "Hello", c = "hello"; int x = 5, y = 5;
- Educational Codeforces Round 65 (Rated for Div. 2) E. Range Deleting(思维+coding)
传送门 参考资料: [1]:https://blog.csdn.net/weixin_43262291/article/details/90271693 题意: 给你一个包含 n 个数的序列 a,并且 ...
- python类中的双下划线方法
__getitem__,__setitem__和__delitem__ 实现了对象属性的字典化操作. class Person: def __init__(self, name, age, hobby ...
- 记前端状态管理库Akita中的一个坑
记状态管理库Akita中的一个坑 Akita是什么 Akita是一种基于RxJS的状态管理模式,它采用Flux中的多个数据存储和Redux中的不可变更新的思想,以及流数据的概念,来创建可观察的数据存储 ...
- codeforce 381 div2
---恢复内容开始--- C: 由mex函数性质可知 ,对任意一个区间,都需要从0开始依次填1,2直到填满,那么,所有区间最小mex的最大值取决于最短区间长度k. 构造a数组之需要从0-k-1依次填数 ...
- UVA 11400"Lighting System Design"
传送门 错误思路 正解 AC代码 参考资料: [1]:https://www.cnblogs.com/Kiraa/p/5510757.html 题意: 现给你一套照明系统,这套照明系统共包含 n 种类 ...
- P1055 连通块问题
题目描述 给出一个n行m列的地图,'.'代表陆地,'W'代表水.现在需要你计算地图中有多少个水块.八个方向可以连通 比如:4*6的地图 ...WWW ...WW. WW.... .....W 中有3个 ...
- 为什么阿里代码规约要求避免使用 Apache BeanUtils 进行属性复制
缘起 有一次开发过程中,刚好看到小伙伴在调用 set 方法,将数据库中查询出来的 Po 对象的属性拷贝到 Vo 对象中,类似这样: 可以看出,Po 和 Vo 两个类的字段绝大部分是一样的,我们一个个地 ...
- 测试驱动开发实践—从testList开始
[内容指引]运行单元测试:装配一条数据:模拟更多数据测试列表:测试无搜索列表:测试标准查询:测试高级查询. 一.运行单元测试 我们以文档分类(Category)这个领域类为例,示范如何通过编写测试用例 ...
- 快排java代码
定一个基准位,递归左右两边排序. public void fun(){ int arr[] = {2,3,4,5,6,7,822,3,4,5,8,6,5,4,2,1}; //System.out.pr ...