ArrayList与Vector类

ArrayList与Vector类

java类集中,由于List(为Collection接口的子接口)为接口,无法直接进行实例化,因此java中提高了List接口的两个实现类ArrayList和Vector类来进行类集之间的相应操作。

Collection接口的主要方法

在这里插入图片描述

List接口的主要方法

List接口为Colletion接口的子接口,对Collection接口的方法进行了大量的扩充。

在这里插入图片描述
在这里插入图片描述

ArrayList类(实现List接口)的主要操作案例
向集合中添加元素
package chapter_thirteen;


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

//测试类
public class ArrayListDemo01 {
    public static void main(String[] args) {
        List<String> allList = null;                    //声明List类集对象allList,存储对象的类型为String类型
        Collection<String> allCollection = null;        //声明Collection类集对象allCollection,存储对象类型为String类型

        allList = new ArrayList<String>();                  //通过对象的多态性向上转型实例化allList和allCollection对象
        allCollection = new ArrayList<String>();

        allList.add("Hello");                               //添加Hello字符串到集合allList中
        allList.add(0, "World");            //插入World字符串到集合的第一个位置
        System.out.println(allList);                //输出allList集合

        allCollection.add("LXH");                           //为allCollection对象添加字符串LXH
        allCollection.add("www.mldn.cn");               //添加www.mldn.cn字符串到allCollection对象中

        allList.addAll(allCollection);                  //将allCollection集合对象添加到allList集合中
        allList.addAll(0,allCollection);            //为allList集合添加allCollection集合到第0个位置
        System.out.println(allList);                    //再次输出allList对象
    }
}

运行结果

[World, Hello]
[LXH, www.mldn.cn, World, Hello, LXH, www.mldn.cn]

删除元素
package chapter_thirteen;

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

public class ArrayListDemo02 {
    public static void main(String[] args) {
        List<String> allList = null;                //声明List类对象allList为null
        allList = new ArrayList<String>();          //通过对象的多态性向上转型实例化List类对象

        allList.add("Hello");                           //向集合中增加字符串内容为"Hello"
        allList.add(0, "World");            //向集合中第一个位置插入字符串内容为"World"
        allList.add("MLDN");                        //向字符串中增加内容为"MLDN"
        allList.add("www.mldn.cn");                         //向字符串中增加内容为"www.mldn.cn"

        allList.remove(3);              //将集合中下标为3的对象移除,此方法为List接口中定义的方法
        allList.remove("MLDN");             //将集合中对象内容为"MLDN"的对象移除,此方法为Collection接口中的方法

        System.out.println(allList);            //打印集合allList
    }
}

运行结果

[World, Hello]

输出List中的内容
package chapter_thirteen;

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>();              //通过对象的多态性向上转型实例化List类实例,

        allList.add("Hello");
        allList.add("World");
        allList.add(0,"World");
        allList.add("MLDN");
        allList.add("www.mldn.cn");                     //为集合中添加字符串内容

        //使用List中的get()方法获取集合中的每一个元素,注意,此方法仅在List集合中存在
        //使用Collection接口的size()方法获取集合的大小信息

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

运行结果

由前向后输出:
World、Hello、World、MLDN、www.mldn.cn、
由后向前输出:
www.mldn.cn、MLDN、World、Hello、World、
将集合变为对象数组
package chapter_thirteen;

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>();              //通过对象的多态性向上转型实例化List类实例,

        allList.add("Hello");
        allList.add("World");
        allList.add(0,"World");
        allList.add("MLDN");
        allList.add("www.mldn.cn");                     //为集合中添加字符串内容

        String[] strings = allList.toArray(new String[]{});         //指定泛型类型,将集合转变为String类集合

        System.out.println("指定数组类型:");
        for (int i = 0; i < strings.length; i++){           //输出字符串中的内容
            System.out.print(strings[i] + "、");                   //输出每一个元素
        }

        System.out.println("\n返回数组对象:");
        Object[] objects = allList.toArray();                       //直接将allList集合转换为Object类对象数组
        for (int i = 0; i < objects.length; i++){           //循环输出对象数组中的内容
            String temp = (String)objects[i];
            System.out.print(temp + "、");                         //输出每一个元素
        }
    }
}

运行结果

指定数组类型:
World、Hello、World、MLDN、www.mldn.cn、
返回数组对象:
World、Hello、World、MLDN、www.mldn.cn、
集合的其他相关操作
package chapter_thirteen;

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>();              //通过对象的多态性向上转型实例化List类实例,

        System.out.println("集合是否为空?" + allList.isEmpty());          //判断集合中的内容是否为null
        allList.add("Hello");
        allList.add("World");
        allList.add(0,"World");
        allList.add("MLDN");
        allList.add("www.mldn.cn");                     //为集合中添加字符串内容
        System.out.println("集合是否为空?" + allList.isEmpty());          //判断集合中的内容是否为null

        System.out.println("字符串MLDN是否a在集合中存在?" + allList.contains("MLDN"));      //判断字符串MLDN在集合中是否存在

        List<String> allSub = allList.subList(2,3);
        System.out.println("集合截取:" + allSub);               //汲取集合中的对象数组为一个新的集合,并输出

        System.out.println("MLDN字符串所在的位置:" + allList.indexOf("MLDN"));          //输出集合中的内容字符串内容是否存在
    }
}

运行结果

集合是否为空?true
集合是否为空?false
字符串MLDN是否在集合中存在?true
集合截取:[World]
MLDN字符串所在的位置:3
Vector类的相关操作

Vector类为一个挽救的子类,是一个元老级别的子类,也实现了List接口。

添加与输出集合内的信息
package chapter_thirteen;

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

public class VectorDemo01 {
    public static void main(String[] args) {
        List<String> allList = null;
        allList = new Vector<String>();              //通过对象的多态性向上转型实例化List类实例,

        allList.add("Hello");
        allList.add("World");
        allList.add(0,"World");
        allList.add("MLDN");
        allList.add("www.mldn.cn");                     //为集合中添加字符串内容

        for (int i = 0; i < allList.size(); i++){               //循环输出
            System.out.print(allList.get(i) + "、");            //通过get()方法取出每一个元素
        }
    }
}

运行结果

World、Hello、World、MLDN、www.mldn.cn、
使用Vector独有的方法添加输出对象
package chapter_thirteen;

import java.util.Vector;

public class VectorDemo02 {
    public static void main(String[] args) {
        Vector<String> vector = new Vector<String>();       //实例化Vector对象

        vector.addElement("Hello");         //此方法为Vector自己定义
        vector.addElement("World");         //此方法为Vector自己定义
        vector.addElement("MLDN");          //此方法为Vector自己定义

        for (int i = 0; i < vector.size(); i++){                //循环取出
            System.out.print(vector.get(i) + "、");            //取得集合中的每一个元素
        }
    }
}

运行结果

Hello、World、MLDN、
ArrayList与Vector的区别

在这里插入图片描述

总结

从实际开发来看,ArrayList类使用较多,Vector类使用较少,小伙伴们根据需要自行使用哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gaolw1102

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值