当前位置:网站首页>解析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 示例代码运行截图

边栏推荐
猜你喜欢

Brain-computer interface 003 | Musk said that he has realized a virtual self-dialogue with the cloud, and related concept shares have risen sharply

流量分析四—蓝牙

快速掌握jmeter(一)——实现自动登录与动态变量

openlayers version update difference

Fetch 请求不转换BLOB正常显示GBK编码的数据

What is the use of IT assets management software

研发了 5 年的时序数据库,到底要解决什么问题?

脑机接口003 | 马斯克称已实现与云端的虚拟自己对话,相关概念股份大涨

【学习日记】win64配置openni的vs2022编译环境

动态规划常见实例详解
随机推荐
SQL-UDT是什么功能?
我用这一招让团队的开发效率提升了 100%!
JWT学习
MaxCompute 近期发布上线的版本的 SQL 引擎新功能参数化视图有什么优势?
「面试必会」这应该是最有深度的TCP三次握手、四次挥手细节讲解
Dynamically generate different types of orders, how do I deposit to mongo database?
流量分析三—远程登陆
MySQL 事件调度
JVM内存和垃圾回收-05.虚拟机栈
golang刷leetcode动态规划(11)不同路径
一些不错的博主
互联网寒冬,挚友7面阿里,终获Offer
MaxCompute 的SQL 引擎参数化视图具体有哪些增强功能?
golang刷leetcode 经典(10) tire树与ac自动机
去年,一道蚂蚁金服笔试题,还行,中等难度
淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
清除浮动与BFC
EasyCVR平台通过国标GB28181接入柯达NVR显示注册失败,该如何解决?
LeetCode每日一题(324. Wiggle Sort II)
golang刷leetcode 动态规划(13) 最长公共子序列