List集合

List集合

List 是一个接口,是有序的 collection,此接口的用户可以对列表中每个元素的插入位置进行精确的控制,用户可以根据元素的整数索引访问元素,并搜索列表中的元素。List 接口允许存放重复的元素,并且元素都是有序的(Set 接口不允许存放重复元素,元素是无序的)

List 接口特点
  • 它是一个有序的集合
  • 他是一个带索引的集合,通过索引就可以精确地操作集合中的元素(与数组的索引是一个道理)
  • 集合中可以有重复的元素,可以通过 equals 方法来比较是否为重复的元素
  • List 接口常用的子类有:ArrayList 集合、LinkedList 集合
List 接口中常用的方法
  • boolean add(Object e):向集合末尾添加指定元素
  • void add(int index,Object e):向集合指定索引处添加指定元素,原有元素依次后移
  • remove(Object e):将指定元素对象从集合中删除,返回被删除的元素
  • remove(int index):将指定索引处的元素从集合中删除,返回被删除的元素
  • set(int index,Object e):将指定索引处的元素替换成指定的元素,返回替换前的元素
  • get(int index):获取指定索引处的元素,返回该元素
  • ListIterator listIterator():List 集合特有的迭代器(开发大多不用这个,直接使用 Iterator 迭代器)
List 的子类特点

ArrayList:

​ 底层数据结构是数组。查询快,增删慢。

​ 线程不安全,效率高。

Vector:

​ 底层数据结构是数组。查询快,增删慢。

​ 线程安全,效率低。

LinkedList:

​ 底层数据结构是链表。查询慢,增删快。

​ 线程不安全,效率高。

到底使用谁?

分析:

要安全吗?

​ 要:Vector(即使要也不使用这个,后面会再说)

​ 不要:ArrayList 或者 LinkedList

​ 查询多:ArrayList

​ 增删多:LinkedList

什么都不知道就选 ArrayList。

ArrayList集合

ArrayList集合是程序中最常见的一种集合,属于引用类型,在AyyayList内部封装了一个长度可变的数组,当存储元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,可以看做ArrayList是一个长度可变的数组

创建集合

  • 导包:import java.util.ArrayList;

  • 创建对象:

    ArrayList<要存储的数据类型> 变量名 = new ArrayList<要存储的数据类型>();
    

*注意:<要存储的数据类型>中必须为引用数据类型*

基本数据类型对应应用数据类型:

基本数据类型 对应的引用数据类型 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean

创建方式 :

存储String类型的元素:

ArrayList<String> list = new ArrayList<String>();

存储int类型的元素:

ArrayList<Integer> list = new ArrayList<Integer>();

创建自己定义的Student类型的数据:

ArrayList<Student>  list  = new  ArrayList<Student>();

实例:

package demo05;
//ArrayList集合
import java.util.ArrayList;
public class demo4 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        
        list.add(1);                                // xxxx.add;  添加元素
        list.add(2);
        list.add(3);
        list.add(4);
        
        System.out.println(list);                   // 打印整个数组
        
        System.out.println(list.get(0));            // xxxx.get(i); 获取下标为i的元素
        System.out.println(list.get(1));
        System.out.println(list.get(2));
        System.out.println(list.get(3));
        
        System.out.println(list.size());            // xxxx.size();  获取数组长度
    }
}

Vector

Vector 集合数据存储结构是数组结构,与 ArrayList 不同之处在于提供了一个独特的取出方法:枚举Enumeration,与 Iterator 接口功能类似。Vector 集合已被 ArrayList 集合替代,枚举Enumeration 已被迭代器 Iterator 替代。

img

现在很少用 Vector 集合,多用 ArrayList 集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值