Java中的容器

容器

1、泛型

泛型是规定集合存储数据的类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)

表示 : <数据类型> 数据类型只能为引用数据类型

位置 : 定义在数据类型的后面

ArrayList<String> list = new ArrayList();

有序: 存放的顺序与内部真实存储的顺序相同
注意: 存储的数据为整数的时候,默认以索引优先

2、List

List:列表,是一个接口。它的实现类常用的有LinkedList、ArrayList和Vector。

public class List {
    public static void main(String[] args) {
        List<String> list = new ArrayList();

        list.add("abc");
        list.add("def");
        list.add("ghi");
        list.add("123");
        System.out.println(list);
        //输出结果为[abc, def, ghi, 123]

LIst集合遍历方式:

1)普通for循环
2)增强for循环
3)iterator迭代器
4)listIterator 列表迭代器

List接口的实现类:有序,可重复

3、ArrayList

ArrayList是采用数组实现的列表,因此它支持随机访问,不适合频繁删除和插入操作。对于需要经常进行查询的数据建议采用此结构。

ArrayList与java数组的一个大的区别是ArrayList能够自动扩容

ArrayList不支持同步,相对效率高

4、Vector 向量
Vector用法和ArrayList用法很相似,它们的区别在于Vector是线程同步的而且Vector有另外的遍历方式

Vector与 ArrayList之间的区别:
1.同步问题
ArrayList 线程不安全/不同步,相对效率高
Vector 线程安全/同步
2.扩容问题
ArrayList 每次扩容原容量的1.5倍,更有利于节约内存
Vector 每次扩容原容量的2倍

5、LinkedList

底层结构: 双向链表
特点:
根据索引查询效率低
做增删效率高
应用场景:
大量做增删少量做查询的时候适合使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值