List 接口及其常用方法
List 接口基本介绍
List
接口是Collection
接口的子接口,其主要特点如下:
List
中元素有序,是按照元素的插入顺序进行排序的。每个元素都有一个与之关联的整数型索引(索引从 0 开始),可以根据索引来访问和操作元素,可以使用普通 for 循环遍历。List
中可以包含重复的元素。
public class ListTest() {
public static void main(String[] args) {
// List 中元素有序、且可重复
List list = new ArrayList();
list.add("Jack");
list.add("Rose");
list.add("May");
list.add("Luck");
list.add("Jack");
System.out.println("list = " + list); // list = [Jack, Rose, May, Luck, Jack]
// List 支持索引
System.out.println(list.get(2)); // May
}
}
List 接口常用方法
下面的代码以其实现类ArrayList
演示List
接口的常用方法。
public class ListMethod() {
public static void main(String[] args) {
List list = new ArrayList();
// 添加指定元素到列表末尾
list.add("任盈盈");
list.add("赵敏");
System.out.println("list = " + list); // list = [任盈盈, 赵敏]
// void add(int index, E element)
// 在此列表的指定位置插入指定的元素。
// 将当前位于该位置的元素(如果有)以及后续的元素向右移动(索引加一)。
list.add(1, "周芷若");
System.out.println("list = " + list); // list = [任盈盈, 周芷若, 赵敏]
// boolean addAll(int index, Collection<? extends E> c)
// 将指定集合中的所有元素按指定位置插入到此列表中。
// 将当前位于该位置的元素(如果有)以及后续的元素向右移动(索引增加)。
// 新元素将按照指定集合迭代器返回它们的顺序出现在此列表中。
List list1 = new ArrayList();
list1.add("风清扬");
list1.add("任我行");
list.addAll(2, list1);
System.out.println("list = " + list); // list = [任盈盈, 周芷若, 风清扬, 任我行, 赵敏]
// E get(int index):返回此列表中指定位置的元素。
System.out.println(list.get(1)); // 周芷若
list.add("风清扬");
System.out.println("list = " + list); // list = [任盈盈, 周芷若, 风清扬, 任我行, 赵敏, 风清扬]
// int indexOf(Object o)
// 返回此列表中指定元素第一次出现的索引,如果列表不包含该元素,则返回 -1。
System.out.println(list.indexOf("风清扬")); // 2
// int lastIndexOf(Object o)
// 返回此列表中指定元素最后一次出现的索引,如果列表不包含该元素,则返回 -1。
System.out.println(list.lastIndexOf("风清扬"));// 5
// E remove(int index):移除此列表中指定位置的元素。
// 将任何后续的元素向左移动(其索引减一)。返回从列表中移除的元素。
list.remove(0);
System.out.println("list = " + list); // list = [周芷若, 风清扬, 任我行, 赵敏, 风清扬]
// boolean remove(Object o):从列表中移除指定元素的第一个匹配项(如果存在)。
// 如果列表不包含该元素,则列表保持不变。如果列表发生更改,则返回 true。
list.remove("风清扬");
System.out.println("list = " + list); // list = [周芷若, 任我行, 赵敏, 风清扬]
//E set(int index, E element):用指定元素替换列表中指定位置的元素。
list.set(1, "张无忌");
System.out.println("list = " + list); // list = [周芷若, 张无忌, 赵敏, 风清扬]
// List<E> subList(int fromIndex, int toIndex)
// 返回此列表中从 fromIndex(包括)到 toIndex(不包括)的子集合。
// 如果 fromIndex 和 toIndex 相等,则返回的列表为空。
List list2 = list.subList(1, 3);
System.out.println("list2 = " + list2); // list2 = [张无忌, 赵敏]
// 该方法消除了显式的范围操作的需求(这种操作通常用于数组)。
// 需要对列表的一部分进行的操作都可以通过传递子列表视图而不是把整个列表作为范围,
// 类似的习惯用法也可以用于 indexOf 和 lastIndexOf 方法。
// 例如,以下习惯用法从列表中移除了一系列元素:
System.out.println("list = " + list); // 输出:list = [周芷若, 张无忌, 赵敏, 风清扬]
list.subList(1, 3).clear();
System.out.println("list = " + list);// 输出:list = [周芷若, 风清扬]
}
}
List 接口遍历元素方式
List
接口可以使用 Iterator(迭代器)、增强 for 循环和普通 for 循环三种方式来遍历元素,下面的代码以其实现类Vector
演示List
接口遍历元素的方式。
public class ThroughElements() {
public static void main(String[] args) {
List list = new Vector();
list.add("蛋挞");
list.add("芝士蛋糕");
list.add("提拉米苏");
System.out.println("---使用 Iterator---");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
System.out.println(o);
}
System.out.println("---使用增强 for 循环---");
for (Object o : list) {
System.out.println(o);
}
System.out.println("---使用普通 for 循环---");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
List 接口及其常用方法的更多相关文章
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
- java中集合类中Collection接口中的Set接口的常用方法熟悉
1:Set集合由Set接口和Set接口的实现类组成,Set接口继承了Collection接口,因为包含Collection接口的所有方法. 2:由于Set接口中不允许存在重复值,因此可以使用Set集合 ...
- java中集合类中Collection接口中的List接口的常用方法熟悉
1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器. 2:区别集合类和数组.(1)数组的长度是固定的,集合的长度是可变的.(2)数组是用来存放基本数据类型的,集 ...
- 集合概述及Collection接口的常用方法
java集合像是一种容器,可以动态的把多个对象的引用放到容器中 java的集合类可以用于存储数量不等的多个对象,还可以用于保存具有映射关系的关联数组 package com.aff.coll; imp ...
- JAVAEE_Servlet_14_HttpServletRequest接口以及常用方法(一)
HttpServletRequest接口 * javax.servlet.http.HttpServletRequest 接口 * 继承关系 HttpServletRequest---继承---> ...
- Collection接口的常用方法
[添加功能] boolean add(Object obj); //添加一个元素. boolean addAll(Collection c); //添加一个集合的元素(在后面追加). [删除功能] v ...
- Python 接口自动化常用方法封装
#!/usr/bin/env python # -*- coding:utf-8 -*- # ************************************* # @Time : 2019/ ...
- Java集合框架的四个接口
接口 [四个接口 collection list set map 的区别] collection 存储不唯一的无序的数据 list 存储有序的不唯一的数据 set 存储无序的唯一的数据 m ...
- Java集合框架之四大接口、常用实现类
Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...
- java内部类、接口、集合框架、泛型、工具类、实现类
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.内部类 1.成员内部类. (1)成员内部类的实例化: 外部类名.内部类 ...
随机推荐
- kubernetes核心实战(二)---Pod+ReplicaSet
3.pod Pod 是可以在 Kubernetes 中创建和管理的.最小的可部署的计算单元. Pod (就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器:这些容器共享存储.网络.以及怎样运行这些容 ...
- pysimplegui之元素常用属性
常用元素参数 您将在几乎所有元素创建调用中看到的一些参数包括: key - 与 window[key].事件和返回值字典一起使用 工具提示tooltip - 将鼠标悬停在元素上,您将获得包含此文本的弹 ...
- 听说你想用免费的FOFA?(第二弹)
听说你想用免费的FOFA?(第二弹) 上回说到 听说你想用免费的FOFA? 第二弹 记得那是一个阳光正好的午后,我刚更新了导出文件类型,到了晚上就发现fofa hack下载不了了,看了一下最新的规则, ...
- stm32报错
1. declaration may not appear after executable statement in block 关于编译错误的小伙伴:error: #268: declaratio ...
- js给元素设置样式
一.style 利用 "[元素].style.[CSS属性名] = [属性值]" 的方法 1 var Box = document.getElementById('box') 2 ...
- DP做题记录
P1140 相似基因 考虑如何设计状态. 设给出的两个串为串 \(A\) 和串 \(B\),长度分别为 \(n\) 和 \(m\). 我们用 \(f[i][j]\) 来表示前 \(i\) 个 \(A\ ...
- spring xml配置中引用java配置不能用ClassPathXmlApplicationContext
现在的目的是想测试在xml配置中引用java配置的bean CD唱片的接口: package v4.c2; public interface CompactDisc { void play(); } ...
- 2022-10-12:以下go语言代码输出什么?A:1;B:2;C:panic;D:不能编译。 package main import “fmt“ func main() { m := m
2022-10-12:以下go语言代码输出什么?A:1:B:2:C:panic:D:不能编译. package main import "fmt" func main() { m ...
- 2022-09-02:以下go语言代码输出什么?A:9;B:11;C:编译错误;D:不确定。
2022-09-02:以下go语言代码输出什么?A:9:B:11:C:编译错误:D:不确定. package main import ( "fmt" ) func main() { ...
- HNU2019 Summer Training 3 E. Blurred Pictures
E. Blurred Pictures time limit per test 2 seconds memory limit per test 256 megabytes input standard ...