List是Collection的子接口,其中可以保存各个重复的内容。
List接口的常用子类
1.ArrayList
<1>实例操作一:向集合中增加元素
<2>实例操作二:删除元素
<3>实例操作三:输出List中的内容
<4>实例操作四:将集合变为对象数组
import java.util.ArrayList; import java.util.Collection; import java.util.List; //================================================= // File Name : List_demo //------------------------------------------------------------------------------ // Author : Common //主类 //Function : List_demo; public class List_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 List<String> allList = null; //定义List对象 Collection<String> allCollection = null; //定义Collection对象 allList = new ArrayList<String>(); //实例化List对象,只能是String类型 allCollection = new ArrayList<String>(); //实例化Collection,只能是String类型 allList.add("Hello"); //是从Collection继承的方法 allList.add(0,"Word"); //此方法为List扩充的方法 System.out.println(allList); //输出集合中的内容 allCollection.add("zhangsan"); //增加数据 allCollection.add("www.baidu.com"); //增加数据 allList.addAll(allCollection); //是从Collection继承的方法,增加一组对象 allList.addAll(0,allCollection); //是从Collection继承的方法,增加一组对象 System.out.println(allList); //输出集合中的内容 allList.remove(0); //删除指定位置的元素 allList.remove("Hello"); //删除指定内容的元素 System.out.println(allList); //输出集合中的内容 System.out.println("从前向后输出:"); for(int i=0;i<allList.size();i++){ System.out.println(allList.get(i)+"、"); } System.out.println("从后向前输出:"); for(int i=allList.size()-1;i>=0;i--){ System.out.println(allList.get(i)+"、"); } String str[] =allList.toArray(new String[] {}); //指定的泛型类型 System.out.println("转换为数组类型"); for(int i =0;i<str.length;i++){ System.out.println(str[i]+"、"); } System.out.println("返回对象数组"); Object obj[] = allList.toArray(); for(int i =0;i<obj.length;i++){ String temp = (String) obj[i]; System.out.println(temp+"、"); } System.out.println(allList.contains("zhangsan")?"字符串存在":"字符串不存在"); List<String> allSub = allList.subList(0, 2); //取出里面的部分集合,前两个 System.out.println(allSub); //输出集合中的内容 System.out.println("字符串的位置"+allList.indexOf("zhangsan")); //查询字符串的位置 System.out.println("集合操作后是否为空?"+allList.isEmpty()); } }
2.LinkedList子类与Queue接口
LinkedList表示的是一个链表的操作类,即Java中已经为开发者提供好了一个链表程序,开发者直接使用即可,无需再重新开发。
<1>实例操作一:在链表的开头和结尾增加数据
<2>实例操作二:找到链表头
<3>实例操作三:以先进先出的方式取出全部的数据
import java.util.LinkedList; //================================================= // File Name : LinkedList_demo //------------------------------------------------------------------------------ // Author : Common //主类 //Function : LinkedList_demo; public class LinkedList_demo { public static void main(String[] args) { // TODO 自动生成的方法存根 LinkedList<String> link = new LinkedList<String>(); link.add("A"); link.add("B"); link.add("C"); System.out.println("初始化链表:"+link); //输出链表内容,调用toString link.addFirst("X"); link.addLast("Y"); System.out.println("添加头尾之后的链表:"+link); //输出链表内容,调用toString System.out.println("使用element()方法找到表头:"+link.element()); System.out.println("找到之后的link内容"+link); System.out.println("使用peek()方法找到表头:"+link.peek()); System.out.println("找到之后的link内容"+link); System.out.println("使用poll()方法找到表头:"+link.poll()); System.out.println("找到之后的link内容"+link); System.out.println("以先进先出的方式输出:"); for(int i=0;i<link.size()+1;i++){ System.out.println(link.poll()+"、"); } } }