Java学习:List接口
2024-09-07 22:43:34
List接口
java.util.list接口 extends Collection接口
List接口的特点:
- 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)
- 有索引,包含了一些带索引的方法
- 允许存储重复的元素
List接口中带索引的方法(特有):
public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。
public E get(int index):返回集合中指定位置的元素。
public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
注意:
操作索引的时候,一定要防止索引越界异常
- IndexOutOfBoundsException:索引越界异常,集合会报
- ArrayIndexOutOfBoundsException:数组索引越界异常
- StringIndexOutOfBoundsException:字符串索引越界异常
//创建一个List集合对象,多态
List<String> list = new ArrayList<>();
{
//public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。
//在索引2和索引3之间添加一个cainiao
list.add(3,"cainiao");//{a,b,c,d}-->{a,b,c,cainiao,d}
//移除元素
String removeE = list.remove(2)
//替换元素
String setE = list.set(4,"A");
}
List的子类
- ArrayList集合
java.util.ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
- LinkedList集合
java.util.LinkedList集合数据存储的结构是链结构。方便元素添加,删除的集合。
java.util.LinkedList集合 implements List接口
ArrayList集合的特点:
- 底层是一个链的结构:查询慢,增删快
- 里边包含了大量操作首尾元素的方法
注意:
使用ArrayList集合特有的方法,不能使用多态
- public void addFirst(E e):将指定元素插入此列表的开头
- public void addLast(E e):将指定元素添加到此列表的结尾
- public void addpush(E e):将元素推如此列表所表示的推栈
- public E getFirst():返回此列表的第一个元素。
- public E getLast():返回此列表的最后一个元素。
- public E removeFirst():移除并返回此列表的第一个元素。
- public E removeLast():移除并返回此列表的最后一个元素。
- public E pop():从此列表所表示的推栈处弹出一个元素。相当于removeFirst
- public boolean isEmpty():如果列表不包含元素,则返回true
Vector集合
Vector 类可以实现可增长的对象数组。
与新collection不同,Vector是同步的。
最新文章
- ios Carthage
- Android源码中内置包含so文件的APK文件
- sum() 函数
- repo的用法
- 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征(转载)
- 如何区分JS中的this?!
- Spring读取配置文件
- Toast.makeText().show() 正常使用但不显示的解决办法
- 关于安装完Node.js 出现node is not dedined 问题
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序
- 07ADO.Net
- Android(java)学习笔记247:ContentProvider使用之利用ContentProvider备份和还原手机短信(掌握)
- backdrop-filter 和filter 写出高斯模糊效果 以及两者区别
- 通过ALM OTA API获取test case的信息,并上传测试结果到test set中
- 使用guava实现找回密码的tokenCache以及LRU算法
- linux cp 拷贝文件或目录
- sklearn多分类问题
- Android开发-基本概念(申明:来源于网络)
- VS中生成时“sgen.exe”已退出,代码为 1解决办法
- LinkServer--服务器选项
热门文章
- Ionic run android失败解决方法。
- PHP如何创建文件夹(mkdir的用法,mkdirs的语法)【转】
- React源码 ReactDOM.render
- JavaScript三种方法获取地址栏参数的方法
- robotframework-selenium2library各个版本
- 2019南昌网络赛I:Yukino With Subinterval(CDQ) (树状数组套主席树)
- linux 利用 crontab 实现 程序开机启动/crontab任务的多种实现方法
- centos7删除PHP怎么操作
- hadoop KerberosUtil 做Kerberos认证
- luogu_2480: 古代猪文