集合框架之List集合

List集合(是一个接口)

是Collection接口的子接口

存储特点:存储的元素是有顺序的、不可以存储重复的元素

一、常用实现类

ArrayList类:(常用)数组结构、底层是用数组存储元素的 线程不安全的,jdk1.2开始有

LinkedList类:链表、表示双向链表和双向队列结构,采用链表实现

Vector类:古老的实现类,底层使用数组存储元素,线程安全的,jdk1.0开始有

Stack类:栈结构、底层使用数组存储

二、常用方法

ArrayList类

/添加
list.add(Object obj);//追加元素

list.add(int index,Object obj);//指定添加到指定索引位置
list.addAll(Collection xx);//添加Collection中的所有元素

//删除
list.remove(int index);//移除指定下标元素

list.removeAll(Collection xx);//移除Collection 中所有的元素

//修改
list.set(int index,Object obj);//将指定下标的元素修改成obj

//查询
list.size();//返回当前列表中的元素个数
list.get(int index);//返回指定索引的元素

list.isEmpty();//判断集合元素个数是否为零
list.toArray();//转为Object数组
list.contanis(Object obj);//判断是否存在obj

LinkedList类

//入栈
list.push("aa");
list.push("bb");

//获取栈顶元素,但不移除元素
Object peek = list.peek();//返回bb

//获取栈顶元素,且移除元素
Object pop = list.pop();//返回bb 且移除这个栈顶

//此时的栈顶元素是aa
Object peek1 = list.peek();//返回aa

//入栈
push();

//出栈且返回出栈元素(出栈一定是栈顶元素)
pop();

//返回栈顶元素
peek();

做为队列的情况下

//在队头加元素
list.addFirst("A");//A
//在队头加元素
list.addFirst("B");//B A

//在队尾加元素
list.addLast("C");//B A C

//获取头元素
list.getFirst();//B

//获取尾元素
list.getLast();//C

//删除头元素
list.removeFirst();
list.toString();//[A,C]

//删除尾元素
list.removeLast();
list.toString();//[A]

三、存储自定义类时需要注意一点

因为集合存储的是自定义类的地址值,所以就算你先存储自定义类,再修改对象的信息,集合中存储的元素也会因此改变

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值