唠唠SE的集合-00——概述 原

---|Collection:单列集合

--------|List:有存储顺序,可重复

-------------|ArrayList:数组实现,查找快,增删慢

                        由于是数组实现,在增和删的时候会牵扯到数组增容、以及拷贝元素,所以慢。

                        数组是可以直接按索引查找,所以查找时较快

-------------|LinkedList:链表实现,增删快,查找慢

                        由于链表实现,增加时只要让前一个元素记住自己就可以,删除时让前一个元素记住后一个元素,

                        后一个元素记住前一个元素. 这样的增删效率较高但查询时需要一个一个的遍历,所以效率较低

-------------|Vector:和ArrayList原理相同,但线程安全,效率略低

--------|Set:无存储顺序,不可重复

-------------|HashSet:线程不安全,存取速度快。底层用哈希表实现。

                        如果两个对象的hashCode相同,那么元素重复。

-------------|TreeSet:红-黑树的数据结构,默认对元素进行自然排序(String)。

                        如果在比较的时候两个对象返回值为0,那么元素重复。

---| Map:双列集合

      键值对,将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

---------|HashMap:底层是哈希表数据结构,线程是不同步的,可以存入null键,null值。

                        要保证键的唯一性,需要重写hashCode方法和equals方法。

---------|TreeMap:底层是红-黑树数据结构。可以对map集合中的键进行排序。

                        需要使用Comparable或者Comparator进行比较排序,来判断键的唯一性。

---------|HashTable:底层是哈希表数据结构,线程是同步的,不可以存入null键,null值。效率较低,被HashMap替代。

每一个容器对数据的存储方式不同,这种存储方式称之为数据结构(data structure)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏和蔼的张星的图像处理专栏

41. 最大子数组

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例: 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,...

31710
来自专栏个人随笔

析构函数(C#)

 析构函数又称终结器,用于析构类的实例。 定义   析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系...

35470
来自专栏C/C++基础

C/C++数组与指针详解

数组大小(元素个数)一般在编译时决定,也有少部分编译器可以运行时动态决定数组大小,比如icpc(Intel C++编译器)。

14920
来自专栏抠抠空间

细数Python中的数据类型以及他们的方法

一、数据类型的种类及主要功能 1、数字类型   数字类型主要是用来计算,它分为整数类型int和浮点类型float 2、布尔类型   布尔类型主要是用于判断,它分...

34150
来自专栏yl 成长笔记

c# typeof 与 GetType 作用与区别

Used to obtain the "System.Type" object for a type. A 'typeof‘ expression takes ...

31710
来自专栏javathings

什么是 default 方法

Java 设计者希望能在 List 上提供一个 forEach 方法,例如可以 list.forEach(System.out::println) 而 L...

29420
来自专栏编程

Python读书笔记5

上期分享了Python相关的字符串应用,重点分享了转义字符。今天和大家分享和字符串相关的函数和应用。 一、字符串的合并! Python用“+”号可以连接两个文本...

22470
来自专栏Script Boy (CN-SIMO)

几个整数求和

任务描述 在eclipse中通过配置运行参数,编写程序求这些整数参数之和然后输出参数个数与所求之和。 设计思想 获取的参数是String类型的,通过Intege...

24700
来自专栏闪电gogogo的专栏

Python——正则表达式

此篇文章结合小甲鱼的笔记和视频整理。 1 编译 Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行...

288100
来自专栏跟着阿笨一起玩NET

C#序列化反序列化帮助类

63000

扫码关注云+社区

领取腾讯云代金券