集合框架学习之List接口
Java语言的java.util包中提供了一些集合类,这些集合类又被称为容器。用来完善数组的不足之处。集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有List集合、Set集合、Map集合,其中List 与Set实现了Collection接口。各接口还提供了不同的实现类。

Collection接口是层次结构中的根接口。Collection接口不能直接使用,但该接口提供了添加和删除、管理数据的方法。List接口和Set接口都实现了Collection接口,因此这些方法对List集合和Set集合是通用的。
List接口的常用方法
List接口继承了Collection接口,因此包含Collection中的所有方法。又因为List是列表类型,所以List接口还提供了一些适合自身的常用方法。
| 方法 | 返回值 | 功能描述 |
| add(int index, Object obj ) | void | 用来向集合中的指定索引位置添加对象,集合的索引位置从0开始,其它对象的索引位置相对向后移一位 |
| add(Object obj ) | void | 将指定的元素追加到此列表的末尾 |
| addAll(int index, Collection coll ) | boolean | 向集合指定索引位置添加指定的集合对象 |
| remove(int index) | Object | 用来移除集合中指定索引位置的对象,并返回该对象 |
| get(int index) | Object | 用于获取指定索引位置的对象 |
| indexOf(Object obj) | int | 该方法返回列表中对象第一次出现的索引位置,如果没有则返回 -1 |
| lastIndexOf(Object obj) | int | 该方法返回列表中对象最后一次出现的索引位置,如果没有则返回 -1 |
| subList(int fromIndex, int toIndex) | List | 获取从索引fromIndex 到toIndex之间的元素对象 |
| set(int index,Object obj) | Object |
用指定邮箱替换列表中指定位置的元素,并返回指定位置的元素 |
| listIterator() | ListIterator | 获取一个包含所有对象的ListIterator列表迭代器 |
List接口中适合自身的方法都与索引有关。由于List集合以线性方式存储对象,因此可以通过对象的索引来操作对象。
在List集合的众多方法中,add(int index, Object obj ) 方法和set(int index,Object obj) 有区别
集合框架学习之List接口的更多相关文章
- JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...
- 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.
- Java集合框架学习(一)List
先附一张Java集合框架图. 从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Coll ...
- Java 集合框架(一)—— 接口综述
前言:凡是使用 Java 编程的,几乎肯定会用到集合框架,比如 ArrayList.LinkedList.HashSet.HashMap 等,集合框架的代码绝对是大师级的实现,所以为了更好地使用集合框 ...
- Java集合框架学习笔记
集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的长度不确定,就使用集合存储. 集合特点1.用于存储对象的容器.2.集合的长度可变.3.集合中不可以存储基本类型 集合容器因为内部的数据结 ...
- Java集合框架学习
集合框架 集合框架的目标 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现必须是高效的. 该框架允许 不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的扩展和适应必 ...
- 【java基础 11】java集合框架学习
导读:本篇博客主要是从整体上了解java的集合框架,然后主要介绍几个自己在项目中用到的结构,比如说:hashtable.hashmap.hashset.arraylist等! 一.宏观预览 从宏观上看 ...
- 集合框架学习之Guava Collection
开源工具包: Guava : Google Collection Apache:Commons Collecton 1.1 Google Collections Guava:google的工程师利用传 ...
随机推荐
- Jury Meeting CodeForces - 854D
Jury Meeting CodeForces - 854D 思路:暴力枚举会议开始的那一天(只需用所有向0点飞的航班的那一天+1去枚举即可),并计算所有人此情况下去0点和从0点出来的最小花费. 具体 ...
- Four Segments CodeForces - 846C
题目 题意:sum(l,r)表示数列a中索引为l到r-1(都包含)的数之和(如果l==r则为0).给出数列a,求合适的delim0, delim1, delim2,使res = sum(0, deli ...
- Mike and gcd problem CodeForces - 798C
题目 (智商题 or 糟心的贪心) 题意: 有一个数列a1,a2,...,an,每次操作可以将相邻的两个数x,y变为x-y,x+y,求最少的操作数使得gcd(a1,a2,...,an)>1.gc ...
- 系统中同时存在python2和python3时 pip有时候更新后会报错 解决安装的方法如下
官网原链接:https://pip.pypa.io/en/stable/installing/ Installation Do I need to install pip? pip is alread ...
- 转--v$session & v$process各字段的说明【转载】
Oracle 动态性能表 v$session & v$process 整理自google出来的网络资源.google是个好东东.没有google我会心神不宁. v$session SADDR: ...
- 在nginx上部署vue项目(history模式)--demo实列;
在很早之前,我写了一篇 关于 在nginx上部署vue项目(history模式) 但是讲的都是理论,所以今天做个demo来实战下.有必要让大家更好的理解,我发现搜索这类似的问题还是挺多的,因此在写一篇 ...
- 使用mysql作为配置文件的地址
server端配置 POM文件 <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- CF779A(round 402 div.2 A) Pupils Redistribution
题意: In Berland each high school student is characterized by academic performance — integer value bet ...
- 使用cordova把h5应用打包成apk
由于h5应用开发不是本例重点,因此直接提供一个最简单的h5应用代码,此应用使用vue-cli框架开发 此h5应用叫vue1,用webstrom打开vue1,进行npm install安装引用 vue1 ...
- ubuntu 下service php5-fpm restart 报错 stop: Unknown instance: 解决
问题描述: 在安装完扩展后,重启php-fpm,发现一直停止报错 stop: Unknown instance: 通过查看进程,也查询不到该主进程 解决办法: 干掉现在正在执行的进程 pkill ph ...