集合其实在本质上面就是数据结构,它封装了一些底层的数据结构等操作进行操作。

集合的长度是可变的,用来存放对象的引用。常见的集合类有List集合、Set集合、Map集合。

1. List接口

List是列表类型(这里可以模拟是数组),以线性方式存储对象,自身的方法都与索引有关,个别常用方法如下。

add(int index, Object obj) void 用来向集合中的指定索引位置添加对象,集合的索引位置从0开始,其他对象的索引位置相对向后移一位
set(int index, E element) Object 用指定元素替换列表中指定位置的元素,返回以前在指定位置的元素
indexOf(Object obj) int 返回列表中对象第一次出现的索引位置,如果集合中不包含该元素则返回-1
lastIndexOf(Object obj) int 返回列表中对象最后一次出现的索引位置,如果集合汇总不包含该元素则返回-1
listIterator() ListIterator 用来获得一个包含所有对象的ListIterator迭代器

具体看代码如何实现:

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List; public class CollectionDemoList { public static void main(String[] args) {
String aString = "A", bString = "B", cString = "C", dString = "D", eString = "E"; List<String> list = new LinkedList<>(); // 创建list集合对象
list.add(aString); // 向集合中添加元素
list.add(bString);
list.add(eString);
// 输出语句,用迭代器(在遍历集合的过程中一般都是用迭代器)
Iterator<String> iter = list.iterator(); // 创建集合迭代器
while(iter.hasNext()) { // 遍历集合中的元素
System.out.print(iter.next() + " ");
} System.out.println(); // 换行
list.set(1, cString); // 将索引位置1的对象修改为对象bString
Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.print(it.next() + " ");
}
} } ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
public class ListTest {

    public static void main(String[] args) {

        List list = new ArrayList();
for (int i = 0; i < 10; i++) {
list.add(i, "这是第" + i + "个存储的数字");
}
list.set(1,"GGGG"); //这里的set方法就已经是把list索引为1的元素里的值用"GGGG"的值来代替
System.out.println(list.toString());
}
}

Java的集合类之 List 接口用法的更多相关文章

  1. Java的集合类之 map 接口用法

    Map接口不是Collection接口的继承.而是从自己的用于维护键-值关联的接口层次结构入手.按定义,该接口描述了从不重复的键到值的映射. 我们可以把这个接口方法分成三组操作:改变.查询和提供可选视 ...

  2. java复习集合类之List接口

    List 为有序可重复列表 实现List接口的类主要是ArrayList 下面为ArrayList的测试代码 import java.util.ArrayList; public class demo ...

  3. Java的集合类之Set接口

    Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品种类的存储需求.Set 可以被用来过滤在其他集合中存放的元素,从而得到一个没有包 ...

  4. Java语言Socket接口用法详解

    Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...

  5. 首先java中集合类主要有两大分支

    本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...

  6. 程序猿的日常——Java基础之抽象类与接口、枚举、泛型

    再次回顾这些基础内容,发现自己理解的又多了一点.对于一些之前很模糊的概念,渐渐的清晰起来. 抽象类与接口 抽象类通常是描述一些对象的通用方法和属性,并且默认实现一些功能,它不能被实例化.接口仅仅是描述 ...

  7. Java:集合类的区别详解

    Java中集合类的区别 Array是数组,不在集合框架范畴之内,一旦选定了,它的容量大小就不能改变了,所以通常在编程中不选用数组来存放. 集合 : 集合对象:用于管理其他若干对象的对象 数组:长度不可 ...

  8. JAVA基础——集合类汇总

    一.集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. ...

  9. java基础 集合类

    java集合类主要有以下集中: List结构的集合类: ArrayList类, LinkedList类, Vector类, Stack类 Map结构的集合类: HashMap类,Hashtable类 ...

随机推荐

  1. 爬虫 - 请求库之requests

    介绍 使用requests可以模拟浏览器的请求,比起python内置的urllib模块,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容 ...

  2. TreeMap 的简单解释

    TreeMap的构造函数   可以传入 自定义的比较器.Map.SortedMap.   put方法: public V put(K key, V value) { Entry<K,V> ...

  3. fastjson<=1.2.47反序列化RCE漏洞

    介绍:fastjson是一个Java语言编写的高性能功能完善的JSON库. 漏洞原因:fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并通过json来填充其属性 ...

  4. LeetCode 919. Complete Binary Tree Inserter

    原题链接在这里:https://leetcode.com/problems/complete-binary-tree-inserter/ 题目: A complete binary tree is a ...

  5. 20199302《Linux内核原理与分析》第十二周作业

    ShellShock攻击实验 什么是ShellShock? Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开.许 ...

  6. springboot(二)

    SpringBoot使用JSP 1.创建一个webapp子项目 2.导入依赖 <!-- 配置springboot的父节点依赖,之后引入就不需要添加version配置了! springboot会自 ...

  7. java解决大文件断点续传

    第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

  8. Windows本机调试内部组件

    将详细分析Windows调试的本机接口.希望读者对C和通用NT内核体系结构和语义有一些基本的了解.此外,这并不是介绍什么是调试或如何编写调试器.它可以作为经验丰富的调试器编写人员或好奇的安全专家的参考 ...

  9. mariadb启动不了

    提示地址已经被使用,是否有其他的进程正在使用 /var/run/sdata/mysql.sock 查询该文件,发现没有,sdata目录都不存在,应该是上次mysql意外关闭导致这个目录丢失了, 使用r ...

  10. 洛谷 P1281 书的复制 题解

    P1281 书的复制 题目背景 大多数人的错误原因:尽可能让前面的人少抄写,如果前几个人可以不写则不写,对应的人输出0 0. 不过,已经修改数据,保证每个人都有活可干. 题目描述 现在要把m本有顺序的 ...