Java基础:什么是List接口,如何去运用?
List接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下标,元素可以通过它们在列表中的位置被插入和访问。
一个列表可以包含复制元素。除了由Collection定义的方法之外,List还定义了一些它自己的方法,这些方法总结在下表中。再次注意当类集不能被修改时,其中的几种方法引发UnsupportedOperation Exception异常。当一个对象与另一个不兼容,例如当企图将一个不兼容的对象加入一个类集中时,将产生ClassCastException异常。
由 List 定义的方法
方法 | 描述 |
---|---|
void add(int index, Object obj) | 将obj插入调用列表,插入位置的下标由index传递。任何已存在的,在插入点以及插入点之后的元素将前移。因此,没有元素被覆盖 |
boolean addAll(int index, Collection c) | 将c中的所有元素插入到调用列表中,插入点的下标由index传递。在插入点以及插入点之后的元素将前移。因此,没有元素被覆盖。如果调用列表改变了,则返回true;否则返回false |
Object get(int index) | 返回存储在调用类集内指定下标处的对象 |
int indexOf(Object obj) | 返回调用列表中obj的第一个实例的下标。如果obj不是列表中的元素,则返回-1 |
int lastIndexOf(Object obj) | 返回调用列表中obj的最后一个实例的下标。如果obj不是列表中的元素,则返回-1 |
ListIterator listIterator( ) | 返回调用列表开始的迭代程序 |
ListIterator listIterator(int index) | 返回调用列表在指定下标处开始的迭代程序 |
Object remove(int index) | 删除调用列表中index位置的元素并返回删除的元素。删除后,列表被压缩。也就是说,被删除元素后面的元素的下标减一 |
Object set(int index, Object obj) | 用obj对调用列表内由index指定的位置进行赋值 |
List subList(int start, int end) | 返回一个列表,该列表包括了调用列表中从start到end–1的元素。返回列表中的元素也被调用对象引用 |
对于由Collection定义的add( )和addAll( )方法,List增加了方法add(int, Object)和addAll(int, Collection)。这些方法在指定的下标处插入元素。由Collection定义的add(Object)和addAll(Collection)的语义也被List改变了,以便它们在列表的尾部增加元素。
为了获得在指定位置存储的对象,可以用对象的下标调用get( )方法。为了给类表中的一个元素赋值,可以调用set( )方法,指定被改变的对象的下标。调用indexOf( )或lastIndexOf( )可以得到一个对象的下标。
通过调用subList( )方法,可以获得列表的一个指定了开始下标和结束下标的子列表。
正如你能想象到的,subList( )方法使得列表处理十分方便。
Java基础:什么是List接口,如何去运用?相关推荐
- 初学Java基础学习——抽象类和接口的区别
初学Java基础学习--抽象类和接口的区别 一.关键字 1)抽象类的关键字 abstract class A{//定义一个抽象类: } class Test extends A{//子类使用exten ...
- 3、java基础:抽象类与接口的区别
抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样 ...
- java基础之抽象类和接口
一.抽象: **抽象类(abstract class):**使用了abstract关键字所修饰的类叫做抽象类.抽象类无法实例化,也就是说,不能new出来一个抽象类的对象(实例). **抽象方法(abs ...
- Java基础总结篇---Map接口
Map 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值.除此之外你得明确的是Map是一个接口你得使用实现Map的类来实例化.其次是Map中数据存储格式是K-V键值对方法存储. ...
- Java基础_面向对象之接口
一.接口的概念: 接口是功能的集合,其是一个比抽象类还抽象的类,也可以把它看作是一种数据类型. 接口只是描述其具备的方法,但是并未具体实现,具体的实现是由接口的实现类去完成. 二.接口的定义: 接口的 ...
- 每日学习-Java基础(十)接口和继承10(内部类)
一.内部类 内部类 // 内部类有四种类型 // 1-非静态内部类 // 2-静态内部类 // 3-匿名类 // 4-本地类 1.非静态内部类 package ia10_innerClass;publ ...
- 黑马程序员——java基础之抽象与接口
--- android培训.java培训.期待与您交流! ---- "动物" abstract:抽象.可以用来修饰类.修饰类之后这个类就是"抽象类" 修饰类之后 ...
- Java基础笔记:Day_10 接口、匿名内部类
一.接口 定义类语法: [修饰符] class [类名] {} 定义接口语法:[修饰符] interface [接口名] {} 在这里我们还没有考虑接口的父接口! 接口命名问题:习惯以able结尾以表 ...
- java基础_static关键字,接口,内部类,匿名内部类
关键字static 当我们编写一个类时,其实就是在描述其对象的属性和行为,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用.我们有时候希望无论是否产生了对象或 ...
- Java基础(10)接口、方法的参数类型以及返回值类型、权限修饰符
1.接口 1. 接口的由来:为了体现事物功能的扩展性,Java通过接口来定义这些额外的扩展功能.但是并不给出具体实现,需要类来重写 2. 接口的特点 (1)定义接口:interface 定义格式:in ...
最新文章
- 求字符串全排列 python实现
- java dataset flatmap_Flink 系例 之 FlatMap
- 数据库---mysql的索引和引擎
- Android开发笔记(五十二)通知推送Notification
- lcmgcd因数分解
- Maya vray XYZ皮肤贴图材质节点连接
- MDIO总线简单介绍
- Spring框架学习
- 如何给Word中的图片添加题注
- C盘爆满?简单几招教你释放、清理C盘几十G空间,最有效的C盘清理方法
- 学习Matlab的第一个程序——用二分法求根
- 拉普拉斯方程和泊松方程的MATLAB可视化
- 数据分析和数据挖掘的概念和理念
- 同时买票是怎么实现的_候补购票和抢票有什么不同 候补购票和抢票可以同时进行吗...
- 还在为图片转Excel而烦恼?6种转换方法让你3秒实现转换
- 法规标准-ISO 22839标准解读(2013版)
- 117年的老商场也直播卖货了:活下来,再谈创造纪录!
- BR系列罗氏电流线圈变送器——安科瑞崔远航
- php分32位和64位吗,cpu32位和64位之间有什么区别?
- 问题 1431: [蓝桥杯][2014年第五届真题]分糖果 ——思维+模拟
热门文章
- XILINX-DDR3IP核的使用
- 047 Permutations II 有重复数字的全排列
- ODOO从哪里开始??OpenERP的第一根线头儿
- XAMPP 使用教程
- JavaScript模拟实现“实例成员”和“静态成员”
- Object.defineProperty 接口浏览器实现的bug.和疑惑
- leetcode字符串练习--整数反转
- keras简介(一)
- (2)Mac安装Parallels无法上网
- OpenCV图像处理(13)——指定区域截取和指定区域复制