- 浏览: 183501 次
- 性别:
- 来自: 北京
最新评论
-
392214559:
事务时访问数据库的一个操作序列,数据库应用系统通过事务集来完成 ...
数据库中事务的概念及其性质 -
ghl116:
...
JPA入门实例 -
woainichenxueming:
引用
[img][/img][flash=200,200][ ...
ThreadLocal在spring框架中的作用 -
xinbaby61:
学习了!
HashMap,HashTable,HashSet区别 -
hellostory:
无语这样的人....
JPA入门实例
|——SortedSet接口——TreeSet实现类
2Set接口——|——HashSet实现类
3 |——LinkedHashSet实现类
4HashSet
5此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
6此类为基本操作提供了稳定性能,这些基本操作包括 add、remove、contains 和 size,假定哈希函数将这些元素正确地分布在桶中。对此集合进行迭代所需的时间与 HashSet 实例的大小(元素的数量)和底层 HashMap 实例(桶的数量)的“容量”的和成比例。因此,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。
7
8我们应该为要存放到散列表的各个对象定义hashCode()和equals();
9import java.util.HashSet;
10import java.util.Iterator;
11public class HashSetTest {
12 public static void main(String[] args)
13 {
14 HashSet hs=new HashSet();
15 /**//*hs.add("one");
16 hs.add("two");
17 hs.add("three");
18 hs.add("four");*/
19 hs.add(new Student(1,"zhangsan"));
20 hs.add(new Student(2,"lishi"));
21 hs.add(new Student(3,"wangwu"));
22 hs.add(new Student(1,"zhangsan"));
23
24 Iterator it=hs.iterator();
25 while(it.hasNext())
26 {
27 System.out.println(it.next());
28 }
29 }
30}
31class Student //HashSet要重写hashCode和equals方法
32{
33 int num;
34 String name;
35 Student(int num,String name)
36 {
37 this.num=num;
38 this.name=name;
39 }
40 public String toString()
41 {
42 return "num :"+num+" name:"+name;
43 }
44 public int hashCode()
45 {
46 return num*name.hashCode();
47 }
48 public boolean equals(Object o)
49 {
50 Student s=(Student)o;
51 return num==s.num && name.equals(s.name);
52 }
53}
54
55TreeSet
56此类实现 Set 接口,该接口由 TreeMap 实例支持。此类保证排序后的 set 按照升序排列元素,根据使用的构造方法不同,可能会按照元素的自然顺序 进行排序,或按照在创建 set 时所提供的比较器进行排序。
57是一个有序集合,元素中安升序排序,缺省是按照自然顺序进行排序,意味着TreeSet中元素要实现Comparable接口;
58我们可以构造TreeSet对象时,传递实现了Comparator接口的比较器对象.
59import java.util.*;
60public class TreeSetTest {
61 public static void main(String[] args)
62 {
63 //TreeSet ts=new TreeSet();
64 TreeSet ts=new TreeSet(new Students.compareToStudent());
65 ts.add(new Students(2,"zhangshan"));
66 ts.add(new Students(3,"lishi"));
67 ts.add(new Students(1,"wangwu"));
68 ts.add(new Students(4,"maliu"));
69
70 Iterator it=ts.iterator();
71 while(it.hasNext())
72 {
73 System.out.println(it.next());
74 }
75 }
76}
77class Students implements Comparable
78{
79 int num;
80 String name;
81 Students(int num,String name)
82 {
83 this.num=num;
84 this.name=name;
85 }
86 static class compareToStudent implements Comparator //定义一个内部类来实现比较器
87 {
88 public int compare(Object o1, Object o2) {
89 Students s1=(Students)o1;
90 Students s2=(Students)o2;
91 int rulst= s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 :-1);
92 if(rulst==0)
93 {
94 rulst=s1.name.compareTo(s2.name);
95 }
96 return rulst;
97 }
98 }
99 public int compareTo(Object o) //写具体的比较方法
100 {
101 int result;
102 Students s=(Students)o;
103 result=num >s.num ? 1:(num==s.num ? 0 : -1);
104 if(result==0)
105
发表评论
-
240多个jQuery插件
2008-11-27 21:41 1323jQuery 是继 prototype 之后又一个优秀的 J ... -
数据库中事务的概念及其性质
2008-11-06 10:30 3297事务时访问数据库的一个操作序列,数据库应用系统通过事务集来完成 ... -
Office Project Professional 2007 简体中文版下载
2008-11-05 21:23 23767Office Project Professional 200 ... -
hibernate:继承关系_整个继承树映射到一张表
2008-11-03 21:31 1635hibernate继承映射:domain类:Employee. ... -
ArrayList
2008-10-17 15:50 12491、什么是ArrayList? ? ArrayList就是传说 ... -
java实现mysql的数据导入导出
2008-09-23 16:47 2726package com.backup; import java ... -
HTML 4.0 语 法 教 学
2008-09-18 16:35 957■ 认识HTML语法 (标签快速导览) ... -
Java反射机制深入研究(转)
2008-09-18 16:31 1297Java反射机制深入研究 ... -
关于一道java程序运行题的结果分析?
2008-09-18 16:25 1521package com.zhaosoft.text; pub ... -
HashMap,HashTable,HashSet区别
2008-09-18 16:16 7630本文是转贴,著作权归原作者所有! Hash ... -
Java基本概念:集合类(Collection)List/Set/Map... 的区别和联系
2008-09-18 16:14 12128Java基本概念:集合类(Collection) List/S ... -
Spring:总结用XML配置的十二个最佳实践
2008-09-18 13:47 9291.不要使用autowiring Spring可以通过类的 ... -
Spring 系列: Spring 框架简介
2008-09-18 12:14 1078在这由三部分组成的介 ... -
JAVA的日期时间相减问题
2008-09-15 17:46 4565import java.util.Date;import ja ... -
微软的面试题及答案
2008-08-21 16:59 1301第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1 ... -
ECLIPSE快捷键说明
2008-08-21 16:17 2030第一部分 常用快捷键说明 eclipse的使用。Ecli ... -
@SuppressWarnings 详解
2008-08-21 16:05 6077@SuppressWarnings J2SE 提供 ... -
MySql 常用命令
2008-07-15 21:26 770一、连接MYSQL。 格式: ... -
dojo快速入门
2008-07-02 08:32 2916转载请注明出处 http://www.fyting.com,谢 ... -
AJAX架构之Dojo篇
2008-07-02 08:28 1776AJAX架构之Dojo篇 一、前言自去年开始,AJAX一下成了 ...
相关推荐
NULL 博文链接:https://elvin-chu.iteye.com/blog/1942033
HashSet和TreeSet_围墙之外.rar
HashSet和TreeSet的区别
主要介绍了详解Java中HashSet和TreeSet的区别的相关资料,需要的朋友可以参考下
主要介绍了HashSet和TreeSet使用方法的区别解析,具有一定借鉴价值,需要的朋友可以参考下
day18-集合-中(HashSet&TreeSet&比较器).zip
简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相 等注意,如果要把一个对
比较遗憾的是,TreeSet 虽然实现起来也比较简单,但它有着和 HashSet 一样的问题,会自动排序 5:LinkedHashSet去重(有序) 从代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新...
treemap treeset hashset hashmap 简要介绍
HashSet 和 TreeSet 有什么区别? HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序? 什么是 Comparable 和 Comparator ...
1) 掌握Java集合框架的概念以及几种具体实现:ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue; 2) 掌握Java集合框架的映射的概念以及映射的两种基本实现:HashMap,TreeMap; 3)掌握枚举类型以及枚举集...
java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...
题目(求字符串的非空子串数量) 一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。...简谈HashSet和TreeSet
这篇集合总结一共包括十二节,介绍了一些接口和实现类的底层源码以及基本的增加、删除元素等的操作(包括List、Map、Set接口、ArrayList、Vector、LinkedList、HashSet、TreeSet、HashMap、TreeMap等实现类)。...
疯狂的java讲义 源码 这是Java学习中的一些代码以及重要的知识点 1 2018-10-16 熟悉idea中github使用 2 2018-10-17 添加.ignore插件,忽略不必要的文件 ...Java集合,HashSet和TreeSet(无序和有序) 7 2
主要介绍了从源码的角度浅析HashMap、TreeMap元素的存储和获取元素的逻辑;从Map与Set之间的关系浅析常用的Set中元素的存储和判断是否重复的逻辑,需要的朋友可以参考下
ava基础 基础知识 面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 ...Java集合详解7:HashSet,TreeSet与LinkedHashSet Java集合详解8:Java集合类细节精讲 JavaWeb
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
集合笔记 list arraylist集合 linkedlist集合 set hashset集合 treeset集合 map hashmap集合 terrset集合 不可变集合