
java数据结构
我乃流至清末
万事皆音忙中错 好人半自苦中来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TreeSet
现在有一批数据,要求不能重复存储元素,而且要排序。ArrayList 、 LinkedList不能去除重复数据。HashSet可以去除重复,但是是无序。所以这时候就要使用TreeSet了既然Tree set 能够排序 里面自然有一套排序规则。① : 让元素自身具备比较性如:② :定制排序1.实体2.测试这样直接写会报错 因为并没有指定排序规则自然排序要进...原创 2018-02-26 10:27:29 · 275 阅读 · 0 评论 -
什么是线程安全 什么是线程不安全
之前在看数据数据结构 一直都有“线程安全或线程不安全的字眼”,之前一直不是很理解,今天在这里做个小结。线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据...转载 2018-02-26 14:24:35 · 14771 阅读 · 1 评论 -
voctor
Vector 可实现自动增长的对象数组。 (线程安全,内部通过数组实现)java.util.vector提供了向量类(Vector)以实现类似动态数组的功能。 创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况,可以考虑使用向量类。...转载 2018-02-26 15:09:05 · 866 阅读 · 0 评论 -
LinkedList基本用法
LinkedList类是双向列表, (内部是链表,线程不安全)列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1. public LinkedList(): ——生成空的链表2. public LinkedList(Collection col): 复制构造函数1、获取链表的第一个和最后一个元素[java] view plaincopyimport jav...转载 2018-02-26 11:22:41 · 595 阅读 · 0 评论 -
ArryList
ArrayList是一个其容量能够动态增长的动态数组 它继承了AbstractList,实现了List、RandomAccess, Cloneable, java.io.Serializable。 基本的ArrayList,长于随机访问元素,但是在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!一般在单线程中才使用ArrayList,而...原创 2018-02-26 11:11:22 · 248 阅读 · 0 评论 -
ArryList, LinkdList, voctor之间的区别
List 接口一共有三个实现类,分别是ArryList ,LinkdList,Vector三者具体的区别如下: 1.ArryList 是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问,数组的缺点是每个元素之间不能有间隔,当数组大小不满足时 需要增加储存储存能力,就要将已有的数据复制到新的储存空间中,当从ArrayList的中间位置...转载 2018-02-26 15:47:52 · 2864 阅读 · 0 评论 -
Set集合
Set 集合 :set常用的功能 就是去重功能 ,至于为什么能去重 我们可以看看源码 (特点1:去重) 可以看的出来 : Set 的 底层实现事hashMap 当我们向hashSet里添加一个值的时候 ,其实这个值是存储在hashMap的key中 key是不能重复的 自然也就达到了去重的目的。Set 最主要的功能是去重 ...原创 2018-02-24 11:52:15 · 161 阅读 · 0 评论 -
HashSet
HashSet :(底层是以哈希表实现的。 线程不安全,存取速度快) HashSet存储元素的顺序并不是按照存入时的顺序(和List显然不同) 是按照哈希值来存的所以取数据也是按照哈希值取得。 由于Set 具有去重功能 显然 HashSet也具有该功能HashSet如何检查重复?HashSet会通过元素的hashcode()和equals方法进行判断...原创 2018-02-24 12:05:36 · 168 阅读 · 0 评论