list集合(接口)

2023-11-12

list集合,显而易见是用来存储数据的,可以把它看作是长度可变的数组,它是有序存储数据的,具有跟数组一样的索引。ArrayList,LinkedList,Vector,Stack都是list接口的实现类。
以ArrayList为例说明list接口的常用方法。(注:小标题1,2,3使用的代码是一直累积的,示例程序中已经分割开了)
1.add(Object element) 向列表的尾部添加指定的元素
size() 返回列表中的元素个数
get(int index) 返回列表中指定位置的元素,index从0开始


import java.util.ArrayList;
import java.util.List;

public class Demo {

	public static void main(String[] args) {
		List<String> arraylist = new ArrayList<String>();
		arraylist.add("李");//add(Object element) 向列表的尾部添加指定的元素
		System.out.println(arraylist.get(0));//获取指定位置的元素
		System.out.println(arraylist.size());//获取大小
		
		
	}
}

add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素
set(int i, Object element) 使用元素element替换索引i位置的元素,并返回被替换的元素。

import java.util.ArrayList;
import java.util.List;

public class Demo {

	public static void main(String[] args) {
		List<String> arraylist = new ArrayList<String>();
		arraylist.add("李");//add(Object element) 向列表的尾部添加指定的元素
		System.out.println(arraylist.get(0));//获取指定位置的元素
		System.out.println(arraylist.size());//获取大小
		/************************************************************************************/


		arraylist.add(0, "李李");
		System.out.println(arraylist.get(0));//输出不是“李”,而是“李李”,也就是把原本0位置的元素往后挪,然后在插入0位置
		String name = arraylist.set(0, "王");//set(int i, Object element) 使用元素element替换索引i位置的元素,并返回被替换的元素。
		System.out.println(name);//输出“李李”
		System.out.println(arraylist.get(0));//输出“王”,“李李”被替换
	}
}

3.iterator迭代器
clear() 从列表中移除所有元素
isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Demo {

	public static void main(String[] args) {
		List<String> arraylist = new ArrayList<String>();
		arraylist.add("李");//add(Object element) 向列表的尾部添加指定的元素
		System.out.println(arraylist.get(0));//获取指定位置的元素
		System.out.println(arraylist.size());//获取大小
		/************************************************************************************/
		arraylist.add(0, "李李");
		System.out.println(arraylist.get(0));//输出不是“李”,而是“李李”,也就是把原本0位置的元素往后挪,然后在插入0位置
		String name = arraylist.set(0, "王");//set(int i, Object element) 使用元素element替换索引i位置的元素,并返回被替换的元素。
		System.out.println(name);//输出“李李”
		System.out.println(arraylist.get(0));//输出“王”,“李李”被替换
		/************************************************************************************/
		arraylist.clear();
		System.out.println(arraylist.isEmpty());
		arraylist.add("first");
		arraylist.add("second");
		arraylist.add("third");
		Iterator<String> listIterator = arraylist.iterator();
		while (listIterator.hasNext()) {
			System.out.println(listIterator.next());
		}
	}
}

注:contains(Object o)方法和remove(int index) 方法另写一篇博客分析:[List集合的contains方法和remove方法](https://blog.csdn.net/naruhina/article/details/87906766

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

list集合(接口) 的相关文章

随机推荐

  • 若依源码解析:代码生成ruoyi-generator

    文章目录 摘要 代码生成器的使用 数据库连接配置 数据库表设计 代码生成器配置 修改mybatis别名配置 增加对com cyl包名的识别 修改mybatis的mapper扫描包路径 代码生成 代码输出 模板配置 代码生成器原理 模板引擎
  • sentinel源码流程图

    最近上海刮台风 在家画了sentinel的源码流程图 如有不对请指出 如需转载请标明出处
  • Java 数据库连接池、线程池和对象池总结

    一 Java数据库连接池总结 数据库连接池的实现及原理 内容摘要 对于一个复杂的数据库应用 频繁的建立 关闭连接 会极大的减低系统的性能 因为对于连接的使用成了系统性能的瓶颈 有一个很著名的设计模式 资源池 该模式正是为了解决资源频繁分配
  • IDEA的下载安装及配置Tomcat

    IDEA的下载安装及配置tomcat 1 首先是下载及安装 IDEA的官方网站提供了两种安装包 一种是旗舰版 既Ultimate版和Community版 如上图 左边是旗舰版的 需要付费 但是可以破解 右边是社区版 是免费的 但是提供的功能
  • Merge sort(归并排序) -- 分治

    基本思路 确定分界点 mid l r 2 递归排序left right 将步骤2中排序好的left right数组进行归并 合二为一 C 代码实现 void merge sort int q int l int r if l gt r re
  • SQL-lab 38~53

    less38 本关卡为堆叠注入 注入语句为 id 1 CREATE DATABASE sq default charset utf8 查询用户名和密码 并创建数据库 数据库创建成功 说明两条语句都执行了 less39 45关 这几关与上一关
  • 第一次动手构建 Linux 内核

    目录 背景 机器参数 参考链接 操作流程 步骤1 下载 Linux 内核源码 步骤 2 解压源码 步骤 3 下载所需软件包 步骤 4 内核配置 步骤 5 开始构建 步骤 5 1 make 步骤 5 2 make INSTALL MOD ST
  • 多线程作业及答案

    多线程作业 一 填空题 1 处于运行状态的线程在某些情况下 如执行了sleep 睡眠 方法 或等待I O设备等资源 将让出CPU并暂时停止自己的运行 进入 状态 2 处于新建状态的线程被启动后 将进入线程队列排队等待CPU 此时它已具备了运
  • myeclipse无法打开工作空间

    现象 打开myeclipse工作空间时进度条不动 解决方式 找到工作空间的文件目录 如 D work 打开D work metadata plugins org eclipse core resources projects 目录 查找近期
  • Mysql入门到精通-快速插入1000万条数据(转)

    创建MyISAM模式表方便批量跑数据 CREATE TABLE logs1 id int 11 NOT NULL AUTO INCREMENT logtype varchar 255 DEFAULT NULL logurl varchar
  • SIFT解析(二)特征点位置确定

    最近微博上有人发起投票那篇论文是自己最受益匪浅的论文 不少人说是lowe的这篇介绍SIFT的论文 确实 在图像特征识别领域 SIFT的出现是具有重大意义的 SIFT特征以其稳定的存在 较高的区分度推进了诸多领域的发展 比如识别和配准 上一篇
  • 3月打卡活动第20天 面试题第40题:最小的k个数(简单)

    3月打卡活动第20天 面试题第40题 最小的k个数 简单 题目 输入整数数组 arr 找出其中最小的 k 个数 例如 输入4 5 1 6 2 7 3 8这8个数字 则最小的4个数字是1 2 3 4 解题思路 排序 取前k个值 class S
  • 常用人体模型关节索引

    SMPL 24 joints Cocoplus 19 joints 0 RAnkle 1 RKnee 2 RHip 3 LHip 4 LKnee 5 LAnkle 6 RWrist 7 RElbow 8 RShoulder 9 LShoul
  • 程序员们最恐惧的“代码”,一见就头疼,是老前辈留下来的代码!

    t行业是目前最赚钱的行业 程序员是目前最赚钱的职业之一 也是最容易过劳死的职业之一 虽然程序员们工资都很高 有的还会赚年薪 但是他们的工作真的是非常辛苦 因为程序员经常会熬夜写代码 在电脑前工作 他们脱发秃头的几率也非常高 由于程序员经常在
  • poco源码简单分析

    自动化工具poco源码简单分析 Airtest简介 Airtest是网易游戏开源的一款UI自动化测试项目 目前处于公开测试阶段 该项目分为AirtestIDE Airtest Poco Testlab四个部分 基于python脚本的方式 用
  • 【公告】博客专家 6 月发布原创/翻译文章奖励

    博客专家6月发布原创 翻译文章奖励 CSDN ID 所获奖励 malefactor 图灵社区技术图书 程序员杂志最新期刊 C币100 lmj623565791 图灵社区技术图书 程序员杂志最新期刊 C币100 jiangwei0910410
  • python TypeError: missing 1 required positional argument:'self'

    Python 调用类的函数时报错如下 TypeError seperate data missing 1 required positional argument self 报错原因 train data test data DataCle
  • 对spark dataframe join之后的列值NULL值进行填充为指定数值的操作

    众所周知 两个数据集如A B取JOIN操作的时候 其结果往往会出现NULL值的出现 这种情况是非常不利于后续的分析与计算的 特别是当涉及到对这个数值列进行各种聚合函数计算的时候 针对这种问题 当然从最简单的dataframe map来处理是
  • QThreadPool线程池的原理与使用

    一 为什么需要用线程池 现在所有的高性能服务器程序 几乎都会使用到线程池技术 从而更好且有效的榨干服务器性能 1 开多少个线程可以达到性能最佳 不知道 你有没有这个疑问 这是一种常见的线程使用方式 class MyThread public
  • list集合(接口)

    list集合 显而易见是用来存储数据的 可以把它看作是长度可变的数组 它是有序存储数据的 具有跟数组一样的索引 ArrayList LinkedList Vector Stack都是list接口的实现类 以ArrayList为例说明list