当前位置:网站首页>解析List接口中的常用的被实现子类重写的方法
解析List接口中的常用的被实现子类重写的方法
2022-08-02 19:20:00 【SSS4362】
解析List接口中的常用的被实现子类重写的方法
1 在index位置插入element元素
1.1 使用方法
List接口的实现子类.add(int index,Object element);
//返回值类型为void,原集合的index位置及其以后的元素都会往后移动一位
1.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
Iterator iterator = arr.iterator();
while (iterator.hasNext()) {
Object next =iterator.next();
System.out.println(next);
}
System.out.println("在下标为1的位置插入字符串55后");
arr.add(1,"55");
//使用for循环进行遍历
for (int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i));
}
}
}
1.3 示例代码运行截图

2 从index位置开始将集合里面的所有元素添加进来
2.1 使用方法
Collection集合的实现子类.addAll(int index,Collection c);
//返回值类型为布尔类型,只要添加成功了元素,就返回true
//index位置及其以后的元素需要往后移动c集合的size()
2.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
Iterator iterator = arr.iterator();
System.out.println("添加之前");
while (iterator.hasNext()) {
Object next =iterator.next();
System.out.println(next);
}
ArrayList arrayList=new ArrayList();
arrayList.add("88");
arrayList.add("22");
System.out.println("添加之后");
arr.addAll(1,arrayList);
//使用for循环进行遍历
for (int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i));
}
}
}
2.3 示例代码运行截图

3 获取指定index位置的元素
3.1 使用方法
Collection接口的实现子类.get(int index);
//返回值为Object对象,返回你找到的对象,若下标不存在则会抛出异常
3.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
System.out.println("index下标位置存在");
System.out.println(arr.get(0));
System.out.println("index下标位置不存在");
//会抛出下标越界异常这个运行时异常,在控制台打印错误信息,程序中断,后面的语句不会指向
System.out.println(arr.get(arr.size()));
System.out.println("后面的语句");
}
}
3.3 示例代码运行截图

4 返回obj对象在集合中首次出现的位置
4.1 使用方法
List接口下面的实现子类.indexOf(Object obj);
//返回值类型为int类型,与String类中的indexOf进行类比记忆
//若没有找到位置Object对象时,会返回-1,找到了就返回对应的下标
4.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
System.out.println("存在Object对象时");
System.out.println(arr.indexOf("12"));
System.out.println("不存在Object对象时");
System.out.println(arr.indexOf("88"));
}
}
4.3 示例代码运行截图

5 返回obj对象在当前集合中首次出现的位置(从后往前)
5.1 使用方法
List接口的实现子类.lastIndexOf(Object o);
//返回值为int类型,从后往前找,若在集合中首次找到了和o对象内容一样的内容,那就返回集合中的那个下标,若遍历完了还未找到,就返回-1
5.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
System.out.println("存在Object对象时");
System.out.println(arr.lastIndexOf("12"));
System.out.println("不存在Object对象时");
System.out.println(arr.lastIndexOf("88"));
}
}
5.3 示例代码运行截图

6 移除指定index位置的元素
6.1 使用方法
List接口的实现子类.remove(int index);
//返回值为Object对象(返回删除位置的那个元素),因为我们想知道根据下标去删除的东西到底是什么
6.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
System.out.println("删除前");
for (Object temp01:
arr) {
System.out.println(temp01);
}
//因为String类重写了toString方法,所以可以直接打印
System.out.println("删除的那个元素为:"+arr.remove(1));
System.out.println("删除后");
for (Object temp02:
arr) {
System.out.println(temp02);
}
}
}
6.3 示例代码运行截图

7 设置指定index位置的元素为element(替换)
7.1 使用方法
List接口的实现子类.set(int index,Object element);
//返回值为Object对象,返回被替换掉的元素对象,我们想知道具体是谁被替换掉了
7.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr = new ArrayList();
arr.add("12");
arr.add("66");
arr.add("77");
System.out.println("替换前");
for (Object temp01:
arr) {
System.out.println(temp01);
}
//因为String类重写了toString方法,所以可以直接打印
System.out.println("被替换的那个元素的内容为:"+arr.set(1,"99"));
System.out.println("替换后");
for (Object temp02:
arr) {
System.out.println(temp02);
}
}
}
7.3 示例代码运行截图

8 返回从fromIndex位置到toIndex位置的前一位的子集合
8.1 使用方法
List接口的实现子类.subList(int index,Object element);
//返回值为List结合,得到的是一个子集合,原集合不会有变化,类似于String类里面的subString方法
//如果下标不在范围内,会出现下标越界异常
8.2 示例代码
package Work;
import java.util.ArrayList;
import java.util.List;
public class Test07 {
public static void main(String[] args) {
List arr1 = new ArrayList();
arr1.add("12");
arr1.add("66");
arr1.add("77");
List arr2=arr1.subList(0,2);
System.out.println("截取后的子集合内容如下所示:");
for (int i = 0; i <arr2.size();i++) {
System.out.println(arr2.get(i));
}
}
}
8.3 示例代码运行截图

边栏推荐
- AI科学家:自动发现物理系统的隐藏状态变量
- 7.25 - 每日一题 - 408
- Based on OpenGL glaciers and firebird (illumination calculation model, visual, particle system)
- SCANIA SCANIA OTL tag is introduced
- golang刷leetcode 经典(9)为运算表达式设计优先级
- 清除浮动与BFC
- 快速掌握jmeter(一)——实现自动登录与动态变量
- 脑机接口003 | 马斯克称已实现与云端的虚拟自己对话,相关概念股份大涨
- 「面试必会」这应该是最有深度的TCP三次握手、四次挥手细节讲解
- JVM内存和垃圾回收-03.运行时数据区概述及线程
猜你喜欢

【LeetCode】118. 杨辉三角 - Go 语言题解

实现客户服务自助,打造产品知识库

Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord

【C语言刷题】Leetcode238——除自身以外数组的乘积

4KMILES加入艾盛集团,以更强劲的数字商务能力,加速中国跨境电商的全域全效增长

连续三次 | 灵雀云入选Gartner中国ICT技术成熟度曲线报告

服务器Centos7 静默安装Oracle Database 12.2

openlayers version update difference

我靠这套笔记自学,拿下字节50万offer....

AI科学家:自动发现物理系统的隐藏状态变量
随机推荐
我用这一招让团队的开发效率提升了 100%!
扫码预约 | 观看Apache Linkis数据处理实践以及计算治理能力
Mysql基础篇(视图)
Golang swagger :missing required param comment parameters
动态折线图,制作原来是这么简单
SCANIA SCANIA OTL tag is introduced
脑机接口003 | 马斯克称已实现与云端的虚拟自己对话,相关概念股份大涨
一些不错的博主
Jellyfin 打造家庭影院 & 视频硬解 (威联通 QNAP)
汇编实例解析--利用tcb,tss,全局tss,ldt管理任务实现任务切换
thinkphp框架5.0.23安全更新问题-漏洞修复-/thinkphp/library/think/App.php具体怎么改以及为什么要这么改
3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs
研发了 5 年的时序数据库,到底要解决什么问题?
分享一个 web 应用版本监测 (更新) 的工具库
竞赛:糖尿病遗传风险检测挑战赛(科大讯飞)
cache2go-源码阅读
动态生成不同类型的订单,请问如何存放到Mongodb数据库?
【C语言刷题】Leetcode169——多数元素
Caldera(二)高级实战
es 读流程源码解析