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()+"、");
}
}
}