Collection下分为很多的子接口,其中有一个List接口,List接口中可以存放任意的数据。而且在List接口中内容是允许重复的。List接口的功能要比Collection接口强大很多,因为大量的扩充了Collection接口的操作。
List接口的扩展方法:
List接口的常用子类--ArrayList
如果要想使用接口,则肯定要使用对象的多态性进行实例化的操作。ArrayList是List中最常用的子类。
添加数据:
import java.util.ArrayList ; import java.util.List ; import java.util.Collection ; public class ArrayListDemo01{ public static void main(String args[]){ List<String> allList = null ; Collection<String> allCollection = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allCollection = new ArrayList<String>() ; // 指定一个集合 allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 System.out.println(allList) ; allCollection.add("LXH") ; // 向Collection中加入内容 allCollection.add("www.mldn.cn") ; allList.addAll(allCollection) ; allList.addAll(0,allCollection) ; System.out.println(allList) ; } };
既然可以增加数据,那么就可以删除数据:List中存在两种删除:根据对象内容删除、根据对象的编号删除。
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo02{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; allList.remove(0) ; // 删除第一个元素,指定删除的位置 allList.remove("Hello") ; // 此方法由Collection接口继承而来 System.out.println(allList) ; } };
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo03{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; System.out.print("由前向后输出:") ; for(int i=0;i<allList.size();i++){ System.out.print(allList.get(i) + "、") ; } System.out.print("\n由后向前输出:") ; for(int i=allList.size()-1;i>=0;i--){ System.out.print(allList.get(i) + "、") ; } } };
此输出方式是List接口所独有的,而其他接口是没有的,尤其是Collection中是没有根据索引取出内容的操作。
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo04{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; String str[] = allList.toArray(new String[]{}) ; // 指定好类型 System.out.print("指定数组类型:") ; for(int i=0;i<str.length;i++){ System.out.print(str[i] + "、") ; } System.out.print("\n返回对象数组:") ; Object obj [] = allList.toArray() ; // 返回Object类型 for(int i=0;i<obj.length;i++){ String temp = (String)obj[i] ; // 进行向下转型 System.out.print(temp + "、") ; } } };
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo05{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String System.out.println("集合操作前是否为空?" + allList.isEmpty()) ; allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; System.out.println(allList.contains("Hello")?"\"Hello\"字符串存在!" : "\"Hello\"字符串不存在!") ; List<String> allSub = allList.subList(2,3) ; // 字符串截取 System.out.println("集合截取:") ; for(int i=0;i<allSub.size();i++){ System.out.print(allSub.get(i) + "、") ; } System.out.println("MLDN字符串的位置:" + allList.indexOf("MLDN")) ; System.out.println("集合操作后是否为空?" + allList.isEmpty()) ; } };
挽救的子类:Vector
import java.util.Vector ; import java.util.List ; public class VectorDemo01{ public static void main(String args[]){ List<String> allList = null ; allList = new Vector<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; for(int i=0;i<allList.size();i++){ System.out.print(allList.get(i) + "、") ; } } };
import java.util.Vector ; import java.util.List ; public class VectorDemo02{ public static void main(String args[]){ Vector<String> allList = null ; allList = new Vector<String>() ; // 指定操作的泛型为String allList.addElement("Hello") ; // 此方法由Collection接口而来 allList.addElement("MLDN") ; // 向Collection中加入内容 allList.addElement("www.mldn.cn") ; for(int i=0;i<allList.size();i++){ System.out.print(allList.get(i) + "、") ; } } };