集合 collection 与 list

本文介绍了Java集合中的List接口及其重要实现类ArrayList和LinkedList。ArrayList在JDK7和8的不同之处在于对象创建和扩容策略,JDK8中采用了更节省内存的懒汉式。LinkedList适合频繁的插入和删除操作,其内部结构从环形链表优化为直线型链表。此外,文章还探讨了List接口中的常用API和遍历方法。
摘要由CSDN通过智能技术生成

java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象,在程序运行时,java集合可以动态的进行扩展,随着元素的增加而扩大,在java中集合通常存在于java.util包中

这里说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化(存放在硬盘当中的数据)的存储(.txt或者jpg或者avi 等)

集合框架是怎样运行的

 java集合中分两个体系

Collection接口

Collection是 单列数据 ,定义了存取一组对象的方法的集合Collection中又分为List接口与Set接口

List接口: 元素有序,且可重复的集合 "动态数组"

接口实现:ArrayList,LinkedList,Vector

Set接口:元素无序,且不可重复的集合  "去重"

接口实现: HashSet,LinkedHashSet,TreeSet

Collection接口继承树:这里的实线表示继承关系,虚线表示实现关系

Map接口

Map是双列数据,保存具有映射关系  "key - value键值对的"集合

接口实现:HashMap,LinkedHashMap,TreeMap ,Hashtable,Properties

list接口

什么是list接口:

 ArrayList:

ArrayList的特点:作为list接口的主要实现类,线程不安全,执行效率高 ,底层使用Object[]数组   的方式进行存储,,elementData 的方式进行存储、

ArrayList在jdk7和jdk8的比较

jdk7:

ArrayList list = new ArrayList();//底层创建了长度是10 的Object[] 类型的数组elementData

list.add(123);//elementData[0] = new Integer(123);

。。。一直添加数据添加到第11位

list.add(11),如果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值