类集-List接口

Connection接口下存在很多子接口,List接口是其中之一,List接口中可以存放任意的数据,而且在List接口中,内容是可以重复的。

public interface List<E> extends Connection<E>

如果要使用接口,肯定要实现对象多态性的实例化操作。

List接口的常用子类——ArrayList
ArrayList是List接口的子类,可以直接通过对象多态性,为List接口实例化
ArrayList类定义如下:

public class ArrayList<E> extends AbstractList<>implements
List<E>

AbstractList类定义如下

public abstract class AbstractList<E> extends AbstractionCollecntion<E>implements List<E>
import java.util.List ;
import java.util.ArrayList ;
public class ArrayListDemo01
{
    public static void main(String[] args)
    {
        List<String> allList = null ; //声明ArrayList对象
        allList = new ArrayList<String>() ;//实例化对象 指定操作泛型是String类型
        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add("World") ;             //默认情况 向最后加入 
        System.out.println(allList) ;
    }
}

在指定位置上添加,添加的方法是List接口扩充的方法。

import java.util.List ;
import java.util.ArrayList ;
public class ArrayListDemo01
{
    public static void main(String[] args)
    {
        ArrayList<String> allList = null ; //声明ArrayList对象
        allList = new ArrayList<String>() ;//实例化对象 指定操作泛型是String类型
        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add(0,"World") ;           //在第一个位置上添加新的内容
        System.out.println(allList) ;
    }
}

在集合中增加数据

import java.util.List ;
import java.util.ArrayList ;
import java.util.Collection ;
public class ArrayListDemo01
{
    public static void main(String[] args)
    {
        List<String> allList = null ;  //声明ArrayList对象
        allList = new ArrayList<String>() ; //实例化对象 指定操作泛型是String类型
        Collection<String> allCon = null ;  //声明Collection对象
        allCon = new ArrayList<String>() ;  // 指定一个集合

        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add(0,"World") ;           //在第一个位置上添加新的内容
        System.out.println(allList) ;

        allCon.add("IronMan") ;           //向Collection中添加内容
        allCon.add("SpiderMan") ;         //向Collection中添加内容
        allList.addAll(allCon) ;    //把一组内容向集合中加
        System.out.println(allList) ;
        allCon.add("SuperMan") ;        //向Collection中添加内容
        allList.addAll(0,allCon) ;      //把一组内容在指定位置添加
        System.out.println(allList) ;
    }
}

既然能增加数据,也可以删除数据
List中存在两种删除:根据对象内容,根据对象编号。

import java.util.List ;
import java.util.ArrayList ;
import java.util.Collection ;
public class ArrayListDemo02
{
    public static void main(String[] args)
    {
        List<String> allList = null ;  //声明ArrayList对象
        allList = new ArrayList<String>() ; //实例化对象 指定操作泛型是String类型
        Collection<String> allCon = null ;  //声明Collection对象
        allCon = new ArrayList<String>() ;  // 指定一个集合

        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add(0,"World") ;           //在第一个位置上添加新的内容
        allList.add("IronMan") ;              //向Collection中添加内容
        allList.add("SpiderMan") ;        //向Collection中添加内容
        allList.remove(0) ;               //删除指定位置内容
        allList.remove("IronMan") ;
        System.out.println(allList) ;

    }
}

集合中内容可以添加和删除,实际上最重要的是 输出
·在List接口中提供了get()方法,利用此方法可以完成输出;
·通过循环进行输出,循环的次数有size()方法取得

import java.util.List ;
import java.util.ArrayList ;
import java.util.Collection ;
public class ArrayListDemo03
{
    public static void main(String[] args)
    {
        List<String> allList = null ;  //声明ArrayList对象
        allList = new ArrayList<String>() ; //实例化对象 指定操作泛型是String类型
        Collection<String> allCon = null ;  //声明Collection对象
        allCon = new ArrayList<String>() ;  // 指定一个集合

        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add("World") ;         //在第一个位置上添加新的内容
        allList.add("IronMan") ;              //向Collection中添加内容
        allList.add("SpiderMan") ;        //向Collection中添加内容

        System.out.println("由前向后输出") ;
        for(int i=0;i<allList.size();i++)
        {
            System.out.print(allList.get(i)+",") ;
        }
        System.out.println("\n由后向前输出") ;
        for(int i=allList.size()-1;i>=0;i--)
        {
            System.out.print(allList.get(i)+",") ;
        }

    }
}

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

import java.util.List ;
import java.util.ArrayList ;
import java.util.Collection ;
public class ArrayListDemo04
{
    public static void main(String[] args)
    {
        List<String> allList = null ;  //声明ArrayList对象
        allList = new ArrayList<String>() ; //实例化对象 指定操作泛型是String类型
        Collection<String> allCon = null ;  //声明Collection对象
        allCon = new ArrayList<String>() ;  // 指定一个集合

        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add("World") ;         //在第一个位置上添加新的内容
        allList.add("IronMan") ;              //向Collection中添加内容
        allList.add("SpiderMan") ;        //向Collection中添加内容
        String str[] = allList.toArray(new String[]{}) ; //指定好类型
        System.out.println("指定数组类型: ") ;

        for(int i=0;i<str.length;i++)
        {
            System.out.print(str[i]+",") ;
        }
        System.out.println("返回对象数组") ;
        Object obj [] = allList.toArray() ; //返回Object类型
        for(int i=0;i<obj.length;i++)
        {
            String temp =(String)obj[i] ;       //进行向下转型
            System.out.println(temp+",") ;
        }
    }
}

集合中还有几个操作

1,判断集合是否为空 boolean isEmpty() ;
2 , 截取部分集合:List<E>subList(int fromIndex,toIndex), List接口扩充
3 , 查找指定的对象是否存在:int indexOf(Object o)如果查找到,则返回位置,否则返回-1
4 , 查找指定的对象是否存在 : boolean contains(Object o) 如果查找到 返回true 否则返回false

import java.util.List ;
import java.util.ArrayList ;

public class ArrayListDemo05
{
    public static void main(String[] args)
    {
        List<String> allList = null ;  //声明ArrayList对象
        allList = new ArrayList<String>() ; //实例化对象 指定操作泛型是String类型

        System.out.println("集合操作前是否为空:" + allList.isEmpty()) ;
        allList.add("Hello") ;             //add方法有Collection接口而来
        allList.add("World") ;         //在第一个位置上添加新的内容
        allList.add("IronMan") ;              //向Collection中添加内容
        allList.add("SpiderMan") ;        //向Collection中添加内容

        //判断某一内容是否存在
        System.out.println(allList.contains("Hello")?"\"Hello\"":"不存在") ;
        //字符串截取
        List<String>allSub = allList.subList(2,3) ; //声明并实例化subList对象
        System.out.println("集合截取") ;
        for(int i=0;i<allSub.size();i++)
        {
            System.out.println(allSub.get(i)+",") ;
        }

        //判断某一内容是否存在 若存在 返回位置
        System.out.println("World的位置"+allList.indexOf("World")) ;

        System.out.println("集合操作后是否为空:"+ allList.isEmpty()) ;
    }
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值