List子接口
特点:有序,有下标,元素可以重复。
List接口使用:
package com.tiedandan.集合.List使用;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class ListUse {
public static void main(String[] args) {
List list = new ArrayList<>();
System.out.println(list.toString());//数组默认为空。
//添加数组元素
System.out.println("-----------添加数组元素---------------");
list.add("苹果");
list.add("小米");
list.add("三星");
list.add(0,"华为");//在指定位置添加元素
list.add("魅族");
System.out.println(list.toString());
//删除元素
System.out.println("----------删除元素-----------");
list.remove("苹果");//指定元素名称删除
list.remove(0);//指定位置删除元素
System.out.println("删除后的列表为:"+list.toString());
//使用迭代器
System.out.println("---------使用迭代器-------");
Iterator it = list.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
//列表迭代器,和迭代器区别,可以向前或者向后遍历,添加,删除。修改元素
System.out.println("------------列表迭代器----------");
ListIterator lit = list.listIterator();
//使用列表迭代器从前往后迭代
System.out.println("---------使用列表迭代器从前往后迭代----------");
while (lit.hasNext()){
System.out.println(lit.nextIndex()+":"+lit.next());//nextIndex实现输出列表下标。:实现隐式转换
}
//使用迭代器从后往前迭代
System.out.println("-------------使用迭代器从后往前迭代-----------");
while (lit.hasPrevious()){
System.out.println(lit.previousIndex()+""+lit.previous());
}
//判断
System.out.println("---------判断----------");
System.out.println(list.contains("苹果"));
System.out.println(list.isEmpty());
//获取元素位置
System.out.println("------------获取元素位置------------");
System.out.println(list.indexOf("魅族"));
}
}
运行结果:
[] -----------添加数组元素--------------- [华为, 苹果, 小米, 三星, 魅族] ----------删除元素----------- 删除后的列表为:[小米, 三星, 魅族] ---------使用迭代器------- 小米 三星 魅族 ------------列表迭代器---------- ---------使用列表迭代器从前往后迭代---------- 0:小米 1:三星 2:魅族 -------------使用迭代器从后往前迭代----------- 2魅族 1三星 0小米 ---------判断---------- false false ------------获取元素位置------------ 2