一,Set之HashSet(转:http://blog.csdn.net/zheng0518/article/details/42197337) 1. HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序 ...
分类:
编程语言 时间:
2016-08-23 15:07:44
阅读次数:
242
TreeSet: 1.向TreeSet添加元素时 如果元素具有自然特性,那么就按照元素的自然顺序的特点进行排序储存。 如果不具备,就要实现Compareable接口中的compareTo() 方法。 可以直接实现Compareable接口,但最好自己定义比较器类。 2.TreeSet的底层实现是红黑 ...
分类:
编程语言 时间:
2016-08-23 06:51:35
阅读次数:
215
|Collection(为什么要画这个图?学多了之后该忘了) |List |ArrayList |LinkedList |Vector |Set |HashSet |TreeSet Set: 特有的方法在前面有接触。所以没有太特别的方法(查看API) 哈希表:有行有列的才能称为表,可以把哈希表想成那 ...
分类:
编程语言 时间:
2016-08-23 01:19:38
阅读次数:
154
TreeSet的实现基于TreeMap,元素的顺序取决于元素自然顺序或者在被创建出来时提供的比较器。 对于基本操作,add、remove、contains的时间复杂度为logn。 不是线程安全的,如果在多线程环境下,必须被同步化,可通过一个object作为锁来同步,或者使用Collections.s ...
分类:
编程语言 时间:
2016-08-23 01:07:41
阅读次数:
165
HashSet实现Set接口,内部维护一个HashMap实例变量。不保证顺序,允许null元素。 对于基本的操作,如add,remove,contains,size,只需要常量的时间复杂度。 不是线程安全的,如果在多线程环境下,需要被同步化,如调用方法Collections.synchronized ...
分类:
编程语言 时间:
2016-08-22 00:22:24
阅读次数:
212
在java中,equals和hashcode是有设计要求的,equals相等,则hashcode一定相等,反之则不然。 为何会有这样的要求? 在集合中,比如HashSet中,要求放入的对象不能重复,怎么判定呢? 首先会调用hashcode,如果hashcode相等,则继续调用equals,也相等,则 ...
分类:
编程语言 时间:
2016-08-21 18:18:00
阅读次数:
125
HashSet\HashMap\HashTable 1 基于散列的集合 2 元素会根据hashcode散列,因此,集合中元素的顺序不一定与插入的顺序一致。 3 根据equals方法与hashCode方法判断元素是否相等。这两个方法是从Object基类中继承的, 查看Object源码,若比较两个引用变 ...
分类:
其他好文 时间:
2016-08-17 22:36:44
阅读次数:
147
有时候我们在类成员定义时,当这个类成员类型为 HashSet时,我们可以不方便调用 add函数进行初始化,所以可以采用下面的便捷方式来进行初始化 ...
分类:
编程语言 时间:
2016-08-16 10:33:56
阅读次数:
454
TreeSet:如果要对对象进行排序,对象类要实现Comparable接口! TreeMap:如果要对对象进行排序,对象类要实现Comparable接口! 下面是我自己写的小程序主要传输对象 public class News implements Comparable<News>{ //news为 ...
分类:
其他好文 时间:
2016-08-14 20:36:59
阅读次数:
101