Java List接口简介说明

java-教程王 Java教程 发布时间:2021-11-27 10:53:02 阅读数:4543 1
下文笔者讲述list接口的简介说明,如下所示:
List接口继承于Collection
List接口中设置了一些规则:
    插入元素可指定插入索引
	可使用索引获取元素(类似于数组)

List接口中包含的方法

void add(String item) //依次往后添加添加元素
void add(String item, int index) //在指定位置处添加元素
void remove(int position) //删除第几个元素(索引从0开始)
void remove(String item) //删除相同的元素
void removeAll() //删除所有元素

List接口中方法功能说明

		List list = new ArrayList();
		// 向列表的尾部追加指定的元素
		list.add("java265.com");
		// 在列表的指定位置插入指定元素
		list.add(1, "第二个位置插入元素--java265.com-2");
		// 追加指定 collection 中的所有元素到此列表的结尾
		list.addAll(new ArrayList());
		// 从列表中移除所有元素
		list.clear();
		// 如果列表包含指定的元素,则返回true
		list.contains("java265.com");
		// 如果列表包含指定 collection 的所有元素,则返回 true
		list.containsAll(new ArrayList());
		// 比较指定的对象与列表是否相等
		list.equals(new ArrayList());
		// 返回列表中指定位置的元素
		list.get(0);
		// 返回列表的哈希码值
		list.hashCode();
		// 返回列表中首次出现指定元素的索引,如果列表不包含此元素,则返回 -1
		list.indexOf("java265.com");
		// 返回列表中最后出现指定元素的索引,如果列表不包含此元素,则返回 -1
		list.lastIndexOf("java265.com");
		// 如果列表不包含元素,则返回 true
		list.isEmpty();
		// 移除列表中指定位置的元素
		list.remove(0);
		// 移除列表中出现的首个指定元素
		list.remove("java265.com");
		// 从列表中移除指定 collection 中包含的所有元素
		list.removeAll(new ArrayList());
		// 用指定元素替换列表中指定位置的元素
		list.set(0, "我是修改后的元素值");
		// 返回列表中的元素数
		list.size();
		// 返回列表中指定的fromIndex(包括)和toIndex(不包括)之间的部分视图
		list.subList(1, 2);
		// 返回以正确顺序包含列表中的所有元素的数组
		list.toArray();
		// 返回以正确顺序包含列表中所有元素的数组
		list.toArray(new String[] { "java265.com", "我的网站" });

List接口继承体系说明

继承体系
|--List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引,
  |-- ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步
  |-- LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)
  |-- Vector:底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢,被ArrayList替代了)

List接口的优点

  1. List接口在iterator、add、remove、equals和hashCode方法的协定上加了一些其他约定,超过了Collection接口中指定的约定。为方便起见,这里也包括了其他继承方法的声明
  2. List接口提供了 4 种对列表元素进行定位(索引)访问方法。列表(像 Java 数组一样)是基于 0 的。注意,这些操作可能在和某些实现(例如LinkedList类)的索引值成比例的时间内执行。 因此,如果调用方不知道实现,那么在列表元素上迭代通常优于用索引遍历列表
  3. List接口提供了特殊的迭代器,称为ListIterator,除了允许Iterator接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器
  4. List接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索
  5. List接口提供了两种在列表的任意位置高效插入和移除多个元素的方法

List接口注意事项:
  所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。如:[java265.com java网站]
  所有的List中允许存在相同的元素,例如Vector中可以有 [a,v,c ]
  所有的List中允许存在null元素,例如[ a,null,2 ]
 基于Array的List(Vector,ArrayList)适合查询,而LinkedList 适合添加,删除操作
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202111/1848.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者