![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java集合类
文章平均质量分 62
嫌疑-人
只有面对喜欢的东西,才配得上说是坚持。
展开
-
LinkedList(链表列表)
LinkedList主要有两种形式:单向链表和双向链表(一般会用 双向链表)根据API1.6中可以知道:1.和ArrayList一样,LinkedList是线程不同步的,同步可用方法: List list = Collections.synchronizedList(new LinkedList(…));2.此类实现List 接口。LinkedList 类还为在列表的开头及结尾 get、rem原创 2017-07-20 22:34:21 · 883 阅读 · 0 评论 -
java Map的遍历
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢? 为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历value等转载 2017-08-14 19:15:16 · 230 阅读 · 0 评论 -
HashSet,LinkedHashset,TreeSet的比较
Set的三个实现类特点:不允许元素重复都不是线程安全HashSet查询效率极高(高于数组),用的最多,底层是HashMap的一个实例。判断两个对象是否相等的规则: 1)equals()返回值为true 2)hashcode()值相同。要求: 存在于哈希表中的对象元素都必须要覆盖 equals(),和hashCode()方法。 链表算法LinkedHashSetHashSet的子类原创 2017-08-14 09:52:01 · 825 阅读 · 0 评论 -
java List接口实现总结
小结一下总结前面写的几篇集合类文章的关系如下:ListList是集合类中的一个重要的接口,其实现类关系如下: 三种List实现类的对比LinkList 链表结构,可以用于栈和队列,(此时一般会选用性能更高的ArrayDeque),易于删除和添加。Vector 是ArrayList的安全版本,线程安全,但是性能很低,现在都不用。ArrayList 数组结构,易于查询 和修改。三种类相比之下,原创 2017-07-24 16:12:26 · 322 阅读 · 0 评论 -
java泛型
www.cnblogs.com/panjun-Donet/archive/2008/09/27/1300609.html泛型简介泛型是在java1.5开始的,最常用的是在集合中使用。ListString> list=new ArrayListString>();ListInteger> list=new ArrayListInteger>();在java1.7之后可以优化原创 2017-07-29 06:49:13 · 176 阅读 · 0 评论 -
TreeSet的自然排序和定制排序
只要放在TreeSet中的元素对象,在该对象的类中必须实现Comparable接口,必须覆盖该接口中的compareTo()方法,并在该方法中编写比较规则。(该方法不能自动生成)自然排序(Comparable)TreeSet拥有的集合元素的compareTo()方法来比较元素的大小关系,然后将集合元素按照升序排列。 int compareTo(T o) 将此对象与指定的对象进行比较,以返原创 2017-07-31 07:15:49 · 2852 阅读 · 0 评论 -
java迭代器
java迭代器一共有3种,最常用的一种是IteratorIterator目前最常用的一种迭代器,在这中相当于有一个指针,指向第一个数的前面 两种主要用的方法: 1.hadNext()下一个对象是否还存在 2.next() 取出下一个数,指针指向下一位。ConcurrentModificationException异常原创 2017-07-26 08:08:18 · 666 阅读 · 0 评论 -
java中映射关系Map
Map用来描述数学中的映射关系: 存在两个集合A,B,在f条件下,对于A中的每个元素,在B中都能找到唯一确定对的元素与其相对应。 f: A->BMap简介严格上来说,Map没有继承Collection接口,并不是集合。Map仅仅表示A,B之间的关系,由于其能存储数据,所以习惯性的称其为集合。Map接口的关系图Map的key-value每次向Map中存储数据时,都应该同时存储两个数据key原创 2017-08-16 22:29:54 · 4325 阅读 · 0 评论 -
ArrayList(数组列表)
在数据结构中,讲解ArrayList类,首先数据结构是用来CRUD的。在此类中有充分的实现和Vector不同,ArrayList中的操作不是线程安全的!所以,建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOnWriteArrayList。ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。ArrayList的常用方法1.原创 2017-07-19 22:05:21 · 1201 阅读 · 0 评论 -
Java中HashMap详解
本文转自:http://alex09.javaeye.com/blog/539545Java中HashMap详解 HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层转载 2017-08-16 19:09:57 · 229 阅读 · 0 评论 -
HashSet元素不重复底层比较
Set集合特点: 1.无序 2.不允许元素重复HashSet特点:提高查询速度。HashSet中如何判断两个对象是否相同?两个充分必要条件:equals()的值为truehashCode()返回值相等。hashCode()的值决定了该对象在该集合中的位置。 由于hashCode()值相同equals()返回false的情况比较麻烦,所以存储在哈希表中的对象都应该覆盖equals方法和h原创 2017-07-30 16:27:12 · 300 阅读 · 0 评论 -
java集合框架由来
java 集合框架的由来 在Java2之前,java是没有完整的集合框架的,它只有一些简单的可以自扩展的容器类,比如Vector,Stack,Hashtable等。java collections Framework(JCF)是通用的容器。为什么存在容器类?容器类可以存储多个数据,且java的容器类只能存放对象,对于基本类型(int,long,float,double等)需要被包装成对象类型后(原创 2017-07-21 20:15:21 · 758 阅读 · 0 评论 -
ArrayDeque
Java中不存在Queue这个类,这是一个接口,虽然存在Stack类,但是Java官方已不建议使用。所以在操作栈和队列时 ,首选ArrayDeque,其次是LinkedListArrayDeque底层是通过循环数组实现的额,但是不是线程安全Deque接口是Queue接口的子接口,它代表一个双端队列,该队列允许从两端来操作队列中的元素。Deque不仅可以当成双端队列使用,而且可以当成栈来使用。A原创 2017-07-21 13:14:58 · 238 阅读 · 0 评论 -
ArrayDeque
ArrayDequeJava中不存在Queue这个类,这是一个接口,虽然存在Stack类,但是Java官方已不建议使用。所以在操作栈和队列时 ,首选ArrayDeque,其次是LinkedListArrayDeque底层是通过循环数组实现的额,但是不是线程安全 Deque接口是Queue接口的子接口,它代表一个双端队列,该队列允许从两端来操作队列中的元素。Deque不仅可以当成原创 2017-07-21 12:58:56 · 223 阅读 · 0 评论 -
java--HashSet详解
哈希表–HashSet.Net3.5之后出现了HashSet,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现HashSet和Dictionary <\TKey,TValue>使用了相同的存储方式和哈希冲突算法,那么,它跟Dictionary <\TKey,TValue>和Hashtable在使用上到底有什么不同?HashSet对转载 2017-08-14 23:21:37 · 714 阅读 · 0 评论