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集合的介绍与常用方法的更多相关文章

  1. list集合的介绍和常用方法

    List接口介绍 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象成为List集合.在List集合中允许出现重复的元素,所 ...

  2. java基础集合底层介绍

    ArrayList.Vector.HashMap.HashTable.HashSet的默认初始容量.加载因子.扩容增量 这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或 ...

  3. Java集合简单介绍

    再最前面分享一下我再学习集合时的方法: 1.首先了解各集合的定义和特点 2.集合的构造方法和常用方法(增删改查等) 3.了解集合使用的场景,再什么情况下使用什么类型的集合(关键是集合的特性) 4.了解 ...

  4. Java之集合初探(一)

    一.集合概述.区别 集合是一种容器,数组也是一种容器 在Java编程中,装各种各样的对象(引用类型)的叫做容器. 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的 ...

  5. java基础---集合(1)

    一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.ut ...

  6. 谈谈Java的集合组件

    让我们一起谈谈Java的集合组件 我们在使用Java的时候,都会遇到并使用到Java的集合.在这里通过自己的理解和网上的资源对Java的集合方面的使用做一个简单的讲解和总结. Java主要分为3个集合 ...

  7. Java基础——集合框架

    Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...

  8. Java学习-集合(转)

    在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...

  9. 浅谈Java的集合框架

    浅谈Java的集合框架 一.    初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...

随机推荐

  1. 2018-8-10-使用-RetroShare-分享资源

    title author date CreateTime categories 使用 RetroShare 分享资源 lindexi 2018-08-10 19:16:51 +0800 2018-02 ...

  2. H5 网络状态接口

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Python--day36--操作系统的作用;多道技术;

  4. H3C IGP与EGP

  5. 用一篇文章了解ppi,dpr,物理像素,逻辑像素,以及二倍图

    这篇文章能让你了解到什么是分辨率.dpr.dip.ppi (dpi相当于ppi,dpi用点表示物理像素密度,ppi是逻辑像素密度) 首先从最简单的ppi开始: 一部手机,有大有小,怎么知道手机的大小用 ...

  6. 12627 - Erratic Expansion——[递归]

    Piotr found a magical box in heaven. Its magic power is that if you place any red balloon inside it ...

  7. 安装 Sureface Hub 系统 Windows 10 team PPIPro 系统

    本文告诉大家如何安装这个系统 本文的方法我自己没试过,如果失败了,不要打我 下载地址 中文版 https://pan.baidu.com/s/1gAJSSE6KB9JHXo4BT_VfmA 其他请看 ...

  8. java 实现类似spring的可配置的AOP框架

    一.工厂类BeanFactory: 1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换. 2.getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符 ...

  9. Kobjects, Ksets 和 Subsystems

    Kobject 是基础的结构, 它保持设备模型在一起. 初始地它被作为一个简单的引用计数, 但是它的责任已随时间增长, 并且因此有了它自己的战场. struct kobject 所处理的任 务和它的支 ...

  10. Java虚拟机-类文件结构

    目录 类文件结构 Class类文件的结构 魔数与Class文件的版本 常量池 访问标志 类索引.父类索引和接口索引集合 字段表集合 方法表集合 属性表集合 完整结构描述 实例 源码 Class文件 分 ...