集合---ArrayList,LinkedList,Vector

本文详细介绍了Java中List接口的三个实现类ArrayList、LinkedList和Vector的特点,并通过实例展示了如何利用ArrayList去除集合中重复的字符串元素,以及Vector和LinkedList的特定功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.List的子类的特点

ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,不同步,效率高
vector:底层数据结构是数组,查询快,增删慢,线程安全,同步,效率低
LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,不同步,效率高
注:ArrayList开发中用的非常多,如果给一个需求,不知道使用谁的时候,都使用ArrayList


二.ArrayList

1.需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
方式一:

import java.util.ArrayList;
import java.util.Iterator;

public class Demo1 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList al = new ArrayList();

        //给集合中添加字符串元素
        al.add("hello");
        al.add("world");
        al.add("java");
        al.add("hello");
        al.add("world");

        //创建一个新的集合
        ArrayList al2 = new ArrayList();

        //遍历第一个集合
        Iterator i = al.iterator();
        while(i.hasNext()){
            String s = (String)i.next();
            if(!al2.contains(s)){
                al2.add(s);
            }
        }

        //输出新集合
        System.out.println(al2);
    }
}

结果:
[hello, world, java]

方式二:

import java.util.ArrayList;
import java.util.Iterator;

public class Demo1 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList al = new ArrayList();

        //给集合中添加字符串元素
        al.add("hello");
        al.add("world");
        al.add("java");
        al.add("hello");
        al.add("world");

        //遍历集合
        for(int x = 0 ; x < al.size() ; x ++){
            for(int y = x+1 ; y < al.size() ; y ++){
                if(al.get(x).equals(al.get(y))){
                    al.remove(y);
                    y--;
                }
            }
        }
        System.out.println(al);
    }
}

结果:
[hello, world, java]

三.LinkedList

LinkedList的特有功能

  1. 和添加相关的方法:
    public void addFirst(Object e):在第一个位置添加元素
    public void addLast(Object e):在最后一个位置添加元素
  2. 和获取相关的方法:
    public Object getFirst():返回此列表的第一个元素
    public Object getLast():返回此列表的最后一个元素
  3. 和删除相关的方法:
    public Object removeFirst():删除此列表的第一个元素
    public Object removeLast():删除此列表的最后一个元素

三.Vector

Vector的特有功能

  1. public void addElement(Object obj):给Vector集合中添加元素
  2. public Object elementAt(int index):获取指定索引处的元素
  3. public Enumeration elements():获取迭代器对象
  4. boolean hasMoreElements():判断是否有下一个可以迭代的元素
  5. Object nextElement():下一个元素
import java.util.Enumeration;
import java.util.Vector;

public class Demo1 {
    public static void main(String[] args) {
        //创建集合对象
        Vector v = new Vector();

        //给集合中添加元素
        v.addElement("hello");
        v.addElement("world");
        v.addElement("java");

        //获取指定索引处的元素
        System.out.println(v.elementAt(1));

        //获取迭代器对象
        Enumeration en = v.elements();
        while(en.hasMoreElements()){
            String s = (String) en.nextElement() ;
            System.out.println(s);
        }
    }
}

结果:
world
hello
world
java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值