一、基本概念
1、数组其实是一个集合,二集合是一个容器
2、集合不能直接存储基本数据类型,也不能存java对象,存储的是引用数据类型
list.add(100); //自动装箱Integer
3、java中每一个不同的集合底层会对应不同的数据结构,往不同的集合中存储元素等于将数据放到不同的数据结构当中(如:数组、二叉树、链表、哈希表...)
4、集合都在java.untl下    
 
二、uml图展示集合继承结构图

三、总结
1、ArrayList:底层是数组
2、LinkedList:底层是双向链表
3、vector:底层是数组,线程是安全的,效率较低,使用较少
4、HashSet:底层是HashMap,等同于放到HashMap集合的Key部分
5、TreeSet:底层是TreeMap,等同于放到TreeMap集合的Key部分
6、HashMap:底层是哈希表
7、Hashtable:底层是哈希表,只不过线程是安全的,效率较低,使用较少
8、Properties:线程安全的,并且Key和Value只能存String
9、TreeMap:底层二叉树,FreeMap集合Key,可以自动按照顺序排序
 
四、List集合:
1、LIst集合存储元素特点:有序可重复
2、set集合存储元素特点:无序不可重复,无元素下标
3、sortedSet元素存储元素特别:无序不可重复,但是集合中元素是可排序的(可按照大小顺序排序)
Map集合的key,就是一个Set集合,往Set集合中放数据,其实就是放入Map集合的Key部分
 
 
 
 

java进阶(21)--集合基础的更多相关文章

  1. Java Hour 13 集合基础

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为13 Hour,请各位不吝赐教. Java 中的集 ...

  2. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  3. JAVA进阶21

    1.Vector向量 如何选用ArrayList.LinkedList.Vector? ①需要线程安全时,用Vector ②不存在线程安全问题时,并且查找较多用ArrayList(一般使用它) ③不存 ...

  4. Java进阶03 IO基础(转载)

    IO示例 下面是演示的文件file.txt Hello World! Hello Nerd! 先来研究一个文件读取的例子: import java.io.*;public class Test{ pu ...

  5. Java Properties集合基础解析

    Java Properties集合基础解析 本期学习的properties集合是项目中经常用到的操作 什么是Properties集合? java.util.Properties集合继承于Hashtab ...

  6. Java中集合基础相关知识

    1.集合基础 1.1 集合概述 编程的时候如果需要存储多个数据使用长度固定的数据存储,适应不了元素个数变化的需求,这时候我们就需要用集合. 集合类的特点:提供了一种存储空间可变的存储模型,存储的数据容 ...

  7. java进阶书籍推荐(不包括基础)

    个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 对着书上的代码自己敲的时候方便 “看完书之后再次提升自我的最好途径是看一 ...

  8. Java基础知识:Java实现Map集合二级联动1

    Java实现Map集合二级联动 Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省 ...

  9. java进阶视频分享

    更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...

  10. JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

随机推荐

  1. Java8函数式编程应用

    我们经常提到,Java8是革命性的一个版本,原因就是正式引入了函数式编程,那Java的函数式编程在实际应用中到底有什么用呢?结合实际的应用,我整理出了函数式在Java的几个经典用途. 缓求值 惰性求值 ...

  2. Cisco 交换机利用CDP数据自动绘制网络拓扑图[drawio]-实践

    进行网络运维,必须对网络拓扑情况进行详细的掌握,但是网络改动后,更新网络拓扑比较繁琐,维护人员容易懈怠,久而久之,通过人工绘制的网络拓扑很容易与现有网络出现偏差. 现在,可以通过python 丰富的库 ...

  3. 【Python】【OpenCV】轮廓检测

    Code: 1 import cv2 2 import numpy as np 3 4 img = np.zeros((200, 200), dtype=np.uint8) 5 img[50:150, ...

  4. Mysql索引失效的几种原因-mysql-suo-yin-shi-xiao-de-ji-zhong-yuan-yin

    title: Mysql索引失效的几种原因 date: 2021-07-15 17:13:59.019 updated: 2021-12-26 17:43:12.489 url: https://ww ...

  5. Redis 事务管理

    Redis 提供了五个指令用于处理事务:MULTI.EXEC.DISCARD.WATCH.UNWATCH,这五个命令是 Redis 进行事务处理的基础. 这些指令允许一组命令在一个步骤中执行,其中有两 ...

  6. Zookeeper 的基本使用

    维基百科对 Zookeeper 的介绍如下所示: Apache ZooKeeper是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册 ZooKe ...

  7. Asp .Net Core 系列: 集成 CORS跨域配置

    目录 什么是CORS? Asp .Net Core 种如何配置CORS? CorsPolicyBuilder类详解 注册以及使用策略三种方式 EnableCors 和 DisableCors 特性 关 ...

  8. 华为云GaussDB圈层活动走进香港,以技术创新构筑金融政企数智发展基石

    摘要:近日,华为云GaussDB圈层活动在中国·香港如期举办,活动聚集了22家香港金融政企客户和合作伙伴. 本文分享自华为云社区<华为云GaussDB圈层活动走进香港,赋能金融政企数字化转型&g ...

  9. 提升80%上云集成效率, TA是如何做到的

    摘要:基于华为云开天aPaaS,提升80%上云集成效率,降低50%集成成本 没有充足资金,没有足够的项目规划和过渡时间,也没有经验丰富的IT团队支持,中小企业的上云路可谓是困难重重.如何帮助企业高效上 ...

  10. LiteOS:剖析时间管理模块源代码

    摘要:Huawei LiteOS的时间管理模块以系统时钟为基础,分为2部分,一部分是SysTick中断,为任务调度提供必要的时钟节拍:另外一部分是,给应用程序提供所有和时间有关的服务,如时间转换.统计 ...