zoukankan      html  css  js  c++  java
  • List接口

    掌握List接口与collection接口关系。

    掌握List接口常用子类:ArrayList,Vector

    掌握ArrayList和Vector类区别。

    List是collection接口子类,里面可以存放各个重复数据。定义如下:

    public interface List<E>   extends Collection<E>

    List扩展方法:

    List接口比collection强大很多,因为大量扩充了Collection方法。

    如果要使用接口,则肯定要使用对象的多态性进行实例化操作,那么对于 List接口本身也是一样。

    ArrayList是List最常用子类。   

    实例操作1,向集合增加元素。

    package 类集;
    import java.util.Collection;
    import java.util.ArrayList ;
    import java.util.List ;
     
     public class test1{
         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加入allCollection内容
             allList.addAll(0,allCollection) ;//向allList开头加入allCollection内容
             
             System.out.println(allList) ;
             System.out.println(allCollection) ;
         }
     }; 

    删除操作:

    remove(index)删除指定位置内容

    remove(element) 删除指定内容

    package 类集;
    import java.util.ArrayList ;
    import java.util.List ;
    public class test1{
        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) ; // 删除第一个元素,指定删除的位置
            System.out.println(allList) ;//移除第一位后的内容
            allList.remove("Hello") ;    // 此方法由Collection接口继承而来
            System.out.println(allList) ;
        }
    };

    结果:

    [Hello, MLDN, www.mldn.cn]
    [MLDN, www.mldn.cn]

    集合可以增加,删除,实际最重要的是输出操作。

    在List中提供了get()方法,此方法可以完成输出

     通常通过循环完成输出。但是循环通常是通过List提供的size()方法获取循环大小

    例子如下:

    package 类集;
    import java.util.ArrayList ;
    import java.util.List ;
    public class test1{
        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("
    由后向前输出:") ;
            for(int i=allList.size()-1;i>=0;i--){
                System.out.print(allList.get(i) + "、") ;
            }
        }
    };

    输出结果:

    由前向后输出:World、Hello、Hello、MLDN、www.mldn.cn、
    由后向前输出:www.mldn.cn、MLDN、Hello、Hello、World、

    将集合转换成数组对象,ToArray。

      1,指定好数组类型,toArray(T[] a):括号里面是一个数组类型对象

    例子

    List<String> allList = new ArrayList<String>() ; 
    allList.add("Hello") ; 

    String str[] = allList.toArray(new String[]{}) ; // 指定好类型

    输出的时候,直接使用数组:

    System.out.print(str[i] + "、") ;

      2,返回object对象类型toArray()

    例子:

    List<String> allList = new ArrayList<String>() ; 
    allList.add("Hello") ; 

    Object obj [] = allList.toArray() ; // 返回Object类型

    但是,输出的时候需要进行向下转型。

    String temp = (String)obj[i] ; // 进行向下转型
    System.out.print(temp + "、") ;

    实例:

    package 类集;
    import java.util.ArrayList ;
    import java.util.List ;
    public class test1{
        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("
    返回对象数组:") ;
            Object obj [] = allList.toArray() ;    // 返回Object类型
            for(int i=0;i<obj.length;i++){
                String temp = (String)obj[i] ;    // 进行向下转型
                System.out.print(temp + "、") ;
            }
        }
    };

    输出结果:

    指定数组类型:World、Hello、MLDN、www.mldn.cn、
    返回对象数组:World、Hello、MLDN、www.mldn.cn、

    其他操作:

    判断集合是否为空:bool IsEmpty();

    截取部分集合:List <E> subList( int  fromindex,int endindex)

    查找指定对象是否存在 :int indexOf(Object o),如果查找到,返回位置,否则返回-1.

    查找是否存在:bool Contains(Object o)。如果存在返回true,否则false。

    实例:

    package 类集;
    import java.util.ArrayList ;
    import java.util.List ;
    public class test1{
        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()) ;
            }
    };

    输出结果:

    集合操作前是否为空?true
    "Hello"字符串存在!
    集合截取:
    MLDN、MLDN字符串的位置:2
    集合操作后是否为空?false

    Vector类继承List类,其操作差不多。

    package 类集;
    import java.util.List ;
    import java.util.Vector;
    public class test1{
        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) + "、") ;
            }
        }
    };

    返回结果:

    World、Hello、Hello、MLDN、www.mldn.cn、
  • 相关阅读:
    Enumerable.Distinct方法去重
    datatable使用lambda
    jQuery获取单选框(复选框)选中的状态
    从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
    SQL Server 中WITH (NOLOCK)浅析
    C#将int型数字转换成3位字符串,不足的时候,前面补0
    window.locatin.href 中特殊字符串问题
    windows下git bash不显示中文问题解决
    python获取文件行数
    自定义异常以及触发异常
  • 原文地址:https://www.cnblogs.com/alsf/p/6220821.html
Copyright © 2011-2022 走看看