
本文共 2013 字,大约阅读时间需要 6 分钟。
List接口是一个集合接口,setAttribute = {有序集合:可以通过索引精确控制元素位置},List接口允许重复元素,与集合不同,List提供了更多便利的操作方式。List接口主要特点如下:
List是有序集合,提供了基于索引的位置访问元素的方法,同时支持插入和删除操作。与集合不同,List允许重复元素的存储,也支持空元素的重复存储。List接口提供了额外的方法,如ListIterator,支持双向遍历和元素的修改操作。另外,List定义了一些特殊的方法,比如索引为0的位置在某些实现中可能是空元素的位置。
List接口的主要方法包括:
- void add(int index, Object o): 在指定索引位置插入一个新元素。
- boolean addAll(int index, Collection c): 将一个集合中的元素添加到指定索引位置。
- Object get(int index): 返回指定索引位置的元素。
- List sublist(int fromIndex, int toIndex): 返回从fromIndex到toIndex的子列表。
List接口还提供了两种搜索方法:contains(Object o) 和 indexOf(Object o),可以用来判断元素是否存在以及找到元素的位置。
需要注意的是,由于List接口允许多个空元素,默认情况下不能区分多个空元素的相等关系,建议在实现List时谨慎处理空元素的情况。
以下是一个使用List接口的示例:
public class TestList {
public static void main(String[] args) { List list = new ArrayList(); list.add("苹果"); list.add("小米"); list.add("华为"); list.add(1, "魅族"); System.out.println("元素总数:" + list.size()); System.out.println("列表内容:" + list); System.out.println("-----------遍历列表-----------"); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } for (Object o : list) { System.out.println(o); } Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } ListIterator lit = list.listIterator(); while (lit.hasNext()) { System.out.println(lit.next() + ":" + lit.nextIndex()); } while (lit.hasPrevious()) { System.out.println(lit.previous() + ":" + lit.previousIndex()); } System.out.println("是否包含魅族:" + list.contains("魅族")); System.out.println("是否为空:" + list.isEmpty()); System.out.println("找到小米的索引:" + list.indexOf("小米"));}
}
第二个示例演示了subList方法的使用:
public class TestList1 { public static void main(String[] args) { List list = new ArrayList(); list.add(10); list.add(20); list.add(30); list.add(40); list.add(50); list.add(60); System.out.println("元素总数:" + list.size()); System.out.println("列表内容:" + list);
list.subList(1, 3); System.out.println("子列表:" + list);}
}
发表评论
最新留言
关于作者
