- 浏览: 125889 次
- 性别:
- 来自: 河北
文章分类
- 全部博客 (93)
- 生活感悟 (1)
- 面试 (3)
- struts2 (1)
- java 综合 (25)
- 杂 (4)
- 数据库综合 (3)
- 数据库-Mysql (2)
- 数据库-SQLServer (0)
- 数据库-Oracle (0)
- 数据库-PostgreSQL (0)
- 数据库-SQLite (0)
- 数据库-MongoDB (0)
- 数据库-Redis (0)
- 操作系统-Windows (4)
- 操作系统-Linux (0)
- 操作系统-Mac (0)
- 操作系统-Unix (0)
- 移动端-Android (0)
- 移动端-IOS (0)
- 开发环境-Eclipse (1)
- 开发环境-IntelliJ IDEA (0)
- JEE-Spring (1)
- JEE-Hibernate (0)
- JEE-Struts2 (1)
- JEE-Struts (0)
- JEE-Spring Cloud (0)
- JEE-Spring Boot (0)
- JEE-接口调试 (0)
- 云计算-Zookeeper (0)
- 云计算-Hadoop (0)
- 云计算-HBase (0)
- 测试-JUnit (0)
- 测试-JMeter (0)
- 项目管理 (0)
- 版本控制 (0)
- 消息中间件 (0)
- 应用服务器-Tomcat (2)
- 应用服务器-Jetty (0)
- 框架-Antlr (0)
- 编程语言-Java (1)
- 编程语言-C# (0)
- 编程语言-C (0)
- 编程语言-Python (0)
- 编程语言-Lua (0)
- 编程语言-Javascript (0)
最新评论
-
java苏打粉:
...
java servlet doPost与doGet方法的理解 -
真狼王:
将禁用脚本测试(Internet Exploer)和禁用脚本调 ...
ie下调试javascript -
javaservers:
说了个大概原理,没做任何实现那。
JDBC连接池 -
yangzhihuan:
都是些实用的技巧.整理是很辛苦了,多谢分享.
jquery 常用技巧
今天学到的,备注一下:
1、Treeset中的数据是自动排好序的,不允许放入null值
2、HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束
3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例
生活要TM有激情 | 果然是sogou更懂网络 23:35 浏览 (1857) 评论 (2) 分类: 代码 收藏 相关推荐 评论
2 楼 iranger 2008-12-26 引用
Set接口
Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。
Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不会接受这两个对象。
HashSet
HashSet有以下特点
不能保证元素的排列顺序,顺序有可能发生变化
不是同步的
集合元素可以是null,但只能放入一个null
当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据hashCode值来决定该对象在HashSet中存储位置。
简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相等
注意,如果要把一个对象放入HashSet中,重写该对象对应类的equals方法,也应该重写其hashCode()方法。其规则是如果两个对象通过equals方法比较返回true时,其hashCode也应该相同。另外,对象中用作equals比较标准的属性,都应该用来计算hashCode的值。
LinkedHashSet
LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序。这样使得元素看起来像是以插入顺序保存的,也就是说,当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素。
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet。
TreeSet类
TreeSet是SortedSet接口的唯一实现类,TreeSet可以确保集合元素处于排序状态。TreeSet支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式。向TreeSet中加入的应该是同一个类的对象。
TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0
自然排序
自然排序使用要排序元素的CompareTo(Object obj)方法来比较元素之间大小关系,然后将元素按照升序排列。
Java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现了该接口的对象就可以比较大小。
obj1.compareTo(obj2)方法如果返回0,则说明被比较的两个对象相等,如果返回一个正数,则表明obj1大于obj2,如果是负数,则表明obj1小于obj2。
如果我们将两个对象的equals方法总是返回true,则这两个对象的compareTo方法返回应该返回0
定制排序
自然排序是根据集合元素的大小,以升序排列,如果要定制排序,应该使用Comparator接口,实现 int compare(T o1,T o2)方法
1 楼 andyao 2008-12-20 引用
引用
但是同一个类的对象可以放入不同的实例
这个理解是要前提的
一个对象只要正确的override了hascode方法, 是可以确保多个不同的instance具有相同的hashcode.
1、Treeset中的数据是自动排好序的,不允许放入null值
2、HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束
3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例
生活要TM有激情 | 果然是sogou更懂网络 23:35 浏览 (1857) 评论 (2) 分类: 代码 收藏 相关推荐 评论
2 楼 iranger 2008-12-26 引用
Set接口
Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。
Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不会接受这两个对象。
HashSet
HashSet有以下特点
不能保证元素的排列顺序,顺序有可能发生变化
不是同步的
集合元素可以是null,但只能放入一个null
当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据hashCode值来决定该对象在HashSet中存储位置。
简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相等
注意,如果要把一个对象放入HashSet中,重写该对象对应类的equals方法,也应该重写其hashCode()方法。其规则是如果两个对象通过equals方法比较返回true时,其hashCode也应该相同。另外,对象中用作equals比较标准的属性,都应该用来计算hashCode的值。
LinkedHashSet
LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序。这样使得元素看起来像是以插入顺序保存的,也就是说,当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素。
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet。
TreeSet类
TreeSet是SortedSet接口的唯一实现类,TreeSet可以确保集合元素处于排序状态。TreeSet支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式。向TreeSet中加入的应该是同一个类的对象。
TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0
自然排序
自然排序使用要排序元素的CompareTo(Object obj)方法来比较元素之间大小关系,然后将元素按照升序排列。
Java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现了该接口的对象就可以比较大小。
obj1.compareTo(obj2)方法如果返回0,则说明被比较的两个对象相等,如果返回一个正数,则表明obj1大于obj2,如果是负数,则表明obj1小于obj2。
如果我们将两个对象的equals方法总是返回true,则这两个对象的compareTo方法返回应该返回0
定制排序
自然排序是根据集合元素的大小,以升序排列,如果要定制排序,应该使用Comparator接口,实现 int compare(T o1,T o2)方法
1 楼 andyao 2008-12-20 引用
引用
但是同一个类的对象可以放入不同的实例
这个理解是要前提的
一个对象只要正确的override了hascode方法, 是可以确保多个不同的instance具有相同的hashcode.
发表评论
-
Webservice 报错 Have you run APT to generate them
2013-08-27 10:23 871原因是找不到类 ,生成webservice 后自运生成包装类, ... -
你的java单例安全吗
2010-12-05 20:51 740今天在写一个东西需要用的单例模式,一般的单列模式可分为以下两种 ... -
java 命名规则
2010-11-27 11:43 938变量 第一位为英文小写字母,该英文小写字母代表变数类型。然后 ... -
java的静态方法和非静态方法
2010-11-27 00:02 808public class Test { p ... -
java之try与finally语句(2)
2010-11-26 23:55 901接上一篇,跟上一篇代码差不多,就是修改了a的值为double类 ... -
java try finally
2010-11-26 23:50 943如下面的代码,结果就不解释了。 Java代码 pub ... -
抽象类和接口区别
2010-11-26 23:47 818如下代码,是使用接口时需要注意的问题。 Java代码 pu ... -
java之final, finally, finalize的区别
2010-11-26 23:44 9221. final 用于声明属性,方法和类,分别表示属性不可变, ... -
求最小公倍数和最大公约数
2010-11-26 23:42 697下面的方法是用递归解决的。如求几个整数的最小公倍数的 ... -
java汉字截取问题
2010-11-26 23:40 732public class Test { p ... -
java之String变量和“==”操作符(1)
2010-11-26 23:26 875先看下面的代码,有助于后面的理解。 Java代码 p ... -
java之String变量和“==”操作符(2)
2010-11-26 23:18 760Java代码 public class StringTest ... -
java 之动态绑定和静态绑定
2010-11-26 22:59 812package cn.lifx.test; pub ... -
java基础之"=="操作符
2010-11-26 21:16 586Java代码 public class Test { ... -
java 内部类测试
2010-11-26 20:53 923Java代码 public class OuterInner ... -
java 之继承
2010-11-26 20:48 723public class Test { p ... -
java catch 语句
2010-11-26 20:44 975public class Test { p ... -
java try catch exception
2010-11-26 20:40 1111public class InputTest { ... -
java类的初始化
2010-11-26 20:35 739Java代码 public class Test1 ... -
无法进入构造方法
2010-11-26 20:32 766刚刚搞定了一个大bug 搞了好几个小时了 问题很简单 ...
相关推荐
NULL 博文链接:https://elvin-chu.iteye.com/blog/1942033
主要介绍了详解Java中HashSet和TreeSet的区别的相关资料,需要的朋友可以参考下
HashSet和TreeSet的区别
HashSet和TreeSet_围墙之外.rar
主要介绍了HashSet和TreeSet使用方法的区别解析,具有一定借鉴价值,需要的朋友可以参考下
day18-集合-中(HashSet&TreeSet&比较器).zip
简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相 等注意,如果要把一个对
比较遗憾的是,TreeSet 虽然实现起来也比较简单,但它有着和 HashSet 一样的问题,会自动排序 5:LinkedHashSet去重(有序) 从代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新...
treemap treeset hashset hashmap 简要介绍
1) 掌握Java集合框架的概念以及几种具体实现:ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue; 2) 掌握Java集合框架的映射的概念以及映射的两种基本实现:HashMap,TreeMap; 3)掌握枚举类型以及枚举集...
java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...
这篇集合总结一共包括十二节,介绍了一些接口和实现类的底层源码以及基本的增加、删除元素等的操作(包括List、Map、Set接口、ArrayList、Vector、LinkedList、HashSet、TreeSet、HashMap、TreeMap等实现类)。...
HashSet 和 TreeSet 有什么区别? HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序? 什么是 Comparable 和 Comparator ...
主要介绍了从源码的角度浅析HashMap、TreeMap元素的存储和获取元素的逻辑;从Map与Set之间的关系浅析常用的Set中元素的存储和判断是否重复的逻辑,需要的朋友可以参考下
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
ava基础 基础知识 面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 ...Java集合详解7:HashSet,TreeSet与LinkedHashSet Java集合详解8:Java集合类细节精讲 JavaWeb
Java数据结构--13.Java8数据结构TreeSet 前⾔ ,上⼀篇中对 Set 接⼝最终实现类 HashSet 与 LinkedHashSet 做了介绍与分析,本篇将对另⼀种 Set 接⼝的最终实现类 TreeSet 进⾏ 介绍与分析。 先来看下 TreeSet 完整...
集合笔记 list arraylist集合 linkedlist集合 set hashset集合 treeset集合 map hashmap集合 terrset集合 不可变集合
Java 对象排序详解 本文主要关注排序Collection的ArrayList、HashSet、TreeSet,以及最后但并非最不重要的数组。