随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里很多数据结构、算法类的东西,理解起来就轻松多了
Set集合下有两大子类开发常用 HashSet集合 、TreeSet集合
Set集合的元素是不重复且无序
一、HashSet集合
API文档解释:此类实现
Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是...
分类:
编程语言 时间:
2014-10-20 00:54:14
阅读次数:
334
一、Set概述。Set集合的特点是元素不允许重复,而且是无序的(添加和取出的顺序不一致)。Set接口中的方法和Collection接口中的方法几乎相同,略。Set接口下常用的两个类:HashSet、TreeSet。二、HashSet类。1、概述。HashSet内部的数据结构是哈希表,而且是不同步的。...
分类:
编程语言 时间:
2014-10-07 22:48:24
阅读次数:
410
先看如下代码
class Worker implements Comparable {
private int age;
private String name;
public Worker(int age, String name) {
this.setAge(age);
this.setName(name);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
...
分类:
其他好文 时间:
2014-09-29 17:36:51
阅读次数:
182
??
/*
* 1.存储对象可以考虑:①数组 ②集合
* 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();....
* >弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可知。
* 3.集合
* Collection接口
* |------Li...
分类:
其他好文 时间:
2014-09-29 12:31:00
阅读次数:
337
一个字符串中可能包含a~z中的多个字符,如有重复,如String="aavlasdjflajeeeeewjjowejjojasjfesdvoeawje";,求出现次数最多的那个字母及次数,如有多个重复的则都求出。
1.引入TreeSet:通过集合快速找到所有出现的字符串
2.引入ArrayList:为了快速排序,再通过StringBuffer生成排序后的字符串
3.通过String api 中的基本方法indexOfLaseIndexOf 来计算TreeSet 中每个字符串的最大值
4.如果出现相同的,则把...
分类:
其他好文 时间:
2014-09-29 03:21:27
阅读次数:
231
先贴上准备的代码: TreeSet list = new TreeSet(); Node n1 = new Node(1); Node n2 = new Node(2); Node n3 = new Node(3); Node n4 = new Node(4); Node n5 = new Node...
分类:
其他好文 时间:
2014-09-21 19:25:31
阅读次数:
173
首先说建议的情况:? 比如你的对象想放到Set集合或者是想作为Map的key时(非散列的Set和Map,例如TreeSet,TreeMap等),那么你必须重写equals()方法,这样才能保证唯一性。当然,在这种情况下,你不想重写hashC...
分类:
其他好文 时间:
2014-09-16 20:43:21
阅读次数:
236
TreeSet在Set的元素不重复的基础之上引入排序的概念,其中对自身拥有Comparable的元素,可以直接进行排序,比如字符串,按照字母的自然顺序排序,此处说下对于自定义对象排序的方式。1、存储元素的类实现Comparable接口实现Comparable接口,其中只有一个方法compareTo(...
分类:
其他好文 时间:
2014-09-16 01:32:29
阅读次数:
243
有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用key-value来映射和存储数据,Key必须惟一,value可以重复 HashMap Tr...
分类:
编程语言 时间:
2014-09-09 21:41:09
阅读次数:
342
Hibernate 要求声明集合属性只能用 Set、List、Map、SortedSet、SortedMap 等接口,而不能用 HashSet、ArrayList、HashMap、TreeSet、TreeMap 等实现类,其原因就是因为 Hibernate 需要对集合属性进行延迟加载,而 Hiber...
分类:
其他好文 时间:
2014-09-09 15:54:08
阅读次数:
188