Java类集–List接口

Collection下分为很多的子接口,其中有一个List接口,List接口中可以存放任意的数据。而且在List接口中内容是允许重复的。List接口的功能要比Collection接口强大很多,因为大量的扩充了Collection接口的操作。

List接口的扩展方法:

List接口的常用子类–ArrayList

如果要想使用接口,则肯定要使用对象的多态性进行实例化的操作。ArrayList是List中最常用的子类。
添加数据:
[java][/java] view plaincopy

  1. import java.util.ArrayList ;
  2. import java.util.List ;
  3. import java.util.Collection ;
  4. public class ArrayListDemo01{
  5.     public static void main(String args[]){
  6.         List<String> allList = null ;
  7.         Collection<String> allCollection = null ;
  8.         allList = new ArrayList<String>() ;   // 指定操作的泛型为String
  9.         allCollection = new ArrayList<String>() ; // 指定一个集合
  10.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  11.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  12.         System.out.println(allList) ;
  13.         allCollection.add(“LXH”) ;  // 向Collection中加入内容
  14.         allCollection.add(“www.mldn.cn”) ;
  15.         allList.addAll(allCollection) ;
  16.         allList.addAll(0,allCollection) ;
  17.         System.out.println(allList) ;
  18.     }
  19. };

既然可以增加数据,那么就可以删除数据:List中存在两种删除:根据对象内容删除、根据对象的编号删除。

[java][/java] view plaincopy

  1. import java.util.ArrayList ;
  2. import java.util.List ;
  3. public class ArrayListDemo02{
  4.     public static void main(String args[]){
  5.         List<String> allList = null ;
  6.         allList = new ArrayList<String>() ;   // 指定操作的泛型为String
  7.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  8.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  9.         allList.add(“MLDN”) ;   // 向Collection中加入内容
  10.         allList.add(“www.mldn.cn”) ;
  11.         allList.remove(0) ; // 删除第一个元素,指定删除的位置
  12.         allList.remove(“Hello”) ;   // 此方法由Collection接口继承而来
  13.         System.out.println(allList) ;
  14.     }
  15. };

[java][/java] view plaincopy

  1. import java.util.ArrayList ;
  2. import java.util.List ;
  3. public class ArrayListDemo03{
  4.     public static void main(String args[]){
  5.         List<String> allList = null ;
  6.         allList = new ArrayList<String>() ;   // 指定操作的泛型为String
  7.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  8.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  9.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  10.         allList.add(“MLDN”) ;   // 向Collection中加入内容
  11.         allList.add(“www.mldn.cn”) ;
  12.         System.out.print(“由前向后输出:”) ;
  13.         for(int i=0;i<allList.size();i++){
  14.             System.out.print(allList.get(i) + “、”) ;
  15.         }
  16.         System.out.print(“\n由后向前输出:”) ;
  17.         for(int i=allList.size()-1;i>=0;i–){
  18.             System.out.print(allList.get(i) + “、”) ;
  19.         }
  20.     }
  21. };

此输出方式是List接口所独有的,而其他接口是没有的,尤其是Collection中是没有根据索引取出内容的操作。

[java][/java] view plaincopy

  1. import java.util.ArrayList ;
  2. import java.util.List ;
  3. public class ArrayListDemo04{
  4.     public static void main(String args[]){
  5.         List<String> allList = null ;
  6.         allList = new ArrayList<String>() ;   // 指定操作的泛型为String
  7.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  8.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  9.         allList.add(“MLDN”) ;   // 向Collection中加入内容
  10.         allList.add(“www.mldn.cn”) ;
  11.         String str[] = allList.toArray(new String[]{}) ;    // 指定好类型
  12.         System.out.print(“指定数组类型:”) ;
  13.         for(int i=0;i<str.length;i++){
  14.             System.out.print(str[i] + “、”) ;
  15.         }
  16.         System.out.print(“\n返回对象数组:”) ;
  17.         Object obj [] = allList.toArray() ; // 返回Object类型
  18.         for(int i=0;i<obj.length;i++){
  19.             String temp = (String)obj[i] ;  // 进行向下转型
  20.             System.out.print(temp + “、”) ;
  21.         }
  22.     }
  23. };

[java][/java] view plaincopy

  1. import java.util.ArrayList ;
  2. import java.util.List ;
  3. public class ArrayListDemo05{
  4.     public static void main(String args[]){
  5.         List<String> allList = null ;
  6.         allList = new ArrayList<String>() ;   // 指定操作的泛型为String
  7.         System.out.println(“集合操作前是否为空?” + allList.isEmpty()) ;
  8.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  9.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  10.         allList.add(“MLDN”) ;   // 向Collection中加入内容
  11.         allList.add(“www.mldn.cn”) ;
  12.         System.out.println(allList.contains(“Hello”)?”\”Hello\”字符串存在!” : “\”Hello\”字符串不存在!”) ;
  13.         List<String> allSub = allList.subList(2,3) ;  // 字符串截取
  14.         System.out.println(“集合截取:”) ;
  15.         for(int i=0;i<allSub.size();i++){
  16.             System.out.print(allSub.get(i) + “、”) ;
  17.         }
  18.         System.out.println(“MLDN字符串的位置:” + allList.indexOf(“MLDN”)) ;
  19.         System.out.println(“集合操作后是否为空?” + allList.isEmpty()) ;
  20.     }
  21. };

挽救的子类:Vector

[java][/java] view plaincopy

  1. import java.util.Vector ;
  2. import java.util.List ;
  3. public class VectorDemo01{
  4.     public static void main(String args[]){
  5.         List<String> allList = null ;
  6.         allList = new Vector<String>() ;  // 指定操作的泛型为String
  7.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  8.         allList.add(“Hello”) ;  // 此方法由Collection接口而来
  9.         allList.add(0,”World”) ;    // 在第一个位置上添加新的内容
  10.         allList.add(“MLDN”) ;   // 向Collection中加入内容
  11.         allList.add(“www.mldn.cn”) ;
  12.         for(int i=0;i<allList.size();i++){
  13.             System.out.print(allList.get(i) + “、”) ;
  14.         }
  15.     }
  16. };

[java][/java] view plaincopy

  1. import java.util.Vector ;
  2. import java.util.List ;
  3. public class VectorDemo02{
  4.     public static void main(String args[]){
  5.         Vector<String> allList = null ;
  6.         allList = new Vector<String>() ;  // 指定操作的泛型为String
  7.         allList.addElement(“Hello”) ;   // 此方法由Collection接口而来
  8.         allList.addElement(“MLDN”) ;    // 向Collection中加入内容
  9.         allList.addElement(“www.mldn.cn”) ;
  10.         for(int i=0;i<allList.size();i++){
  11.             System.out.print(allList.get(i) + “、”) ;
  12.         }
  13.     }
  14. };

标签