- 浏览: 129970 次
- 性别:
- 来自: 河北
文章分类
- 全部博客 (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 928原因是找不到类 ,生成webservice 后自运生成包装类, ... -
你的java单例安全吗
2010-12-05 20:51 775今天在写一个东西需要用的单例模式,一般的单列模式可分为以下两种 ... -
java 命名规则
2010-11-27 11:43 989变量 第一位为英文小写字母,该英文小写字母代表变数类型。然后 ... -
java的静态方法和非静态方法
2010-11-27 00:02 851public class Test { p ... -
java之try与finally语句(2)
2010-11-26 23:55 932接上一篇,跟上一篇代码差不多,就是修改了a的值为double类 ... -
java try finally
2010-11-26 23:50 997如下面的代码,结果就不解释了。 Java代码 pub ... -
抽象类和接口区别
2010-11-26 23:47 856如下代码,是使用接口时需要注意的问题。 Java代码 pu ... -
java之final, finally, finalize的区别
2010-11-26 23:44 9741. final 用于声明属性,方法和类,分别表示属性不可变, ... -
求最小公倍数和最大公约数
2010-11-26 23:42 739下面的方法是用递归解决的。如求几个整数的最小公倍数的 ... -
java汉字截取问题
2010-11-26 23:40 784public class Test { p ... -
java之String变量和“==”操作符(1)
2010-11-26 23:26 919先看下面的代码,有助于后面的理解。 Java代码 p ... -
java之String变量和“==”操作符(2)
2010-11-26 23:18 800Java代码 public class StringTest ... -
java 之动态绑定和静态绑定
2010-11-26 22:59 858package cn.lifx.test; pub ... -
java基础之"=="操作符
2010-11-26 21:16 628Java代码 public class Test { ... -
java 内部类测试
2010-11-26 20:53 969Java代码 public class OuterInner ... -
java 之继承
2010-11-26 20:48 769public class Test { p ... -
java catch 语句
2010-11-26 20:44 1028public class Test { p ... -
java try catch exception
2010-11-26 20:40 1148public class InputTest { ... -
java类的初始化
2010-11-26 20:35 781Java代码 public class Test1 ... -
无法进入构造方法
2010-11-26 20:32 810刚刚搞定了一个大bug 搞了好几个小时了 问题很简单 ...
相关推荐
在Java编程语言中,集合框架是处理数据的重要组成部分,其中`HashSet`和`TreeSet`是两种常用的Set接口实现类。它们各自具有独特的特性和用途,理解它们的区别对于编写高效且正确的代码至关重要。 首先,`HashSet`是...
Java HashSet 和 TreeSet 的区别详解 HashSet 和 TreeSet 是 Java 中两个常用的集合类,它们都实现了 Set 接口,但它们之间有很大的区别。本文将详细介绍 HashSet 和 TreeSet 的区别,帮助大家更好地理解和使用这些...
总结一下,HashSet和TreeSet的主要区别在于: 1. 存储结构:HashSet使用哈希表,TreeSet使用红黑树。 2. 顺序:HashSet无特定顺序,TreeSet保持排序。 3. 插入、删除和查找效率:HashSet平均O(1),最坏O(n);TreeSet...
HashSet和TreeSet使用方法的区别解析 HashSet和TreeSet都是Java集合框架中的Set接口实现,用于存储不重复的元素。但是,它们在使用方法和实现机理上有很大的区别。 首先,从使用方法上讲,HashSet和TreeSet都可以...
HashSet 和 TreeSet 是 Java 中两种常用的 Set 集合实现,它们都继承自 Set 接口,但实现方式和特性上存在显著差异。 首先,HashSet 是基于哈希表(HashMap 实例)来存储元素的,因此它提供了快速的插入、删除和...
本文主要探讨了三种基于Set接口的实现类:HashSet、LinkedHashSet和TreeSet,它们各自有不同的特性和使用场景。 首先,HashSet是最基础的Set实现,它不保证元素的特定顺序,也不保证在多次操作后保持元素的顺序不变...
在Java编程语言中,集合框架是处理对象组的重要工具,其中`HashSet`和`TreeSet`是两种常见的接口实现类,分别提供了不同的功能和性能特性。本教程将深入探讨这两个集合类以及它们与比较器(Comparator)的关系。 ...
比较遗憾的是,TreeSet 虽然实现起来也比较简单,但它有着和 HashSet 一样的问题,会自动排序 5:LinkedHashSet去重(有序) 从代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新...
在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中`TreeMap`、`TreeSet`、`HashSet`以及`HashMap`是最常用的数据结构之一。这些集合类各自有着独特的特性和应用场景,下面将对它们进行详细介绍。...
### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...
ArrayList和LinkedList是List接口的两个常用的实现类,而HashSet和TreeSet是Set接口的两个常用的实现类。Iterator是一种设计模式,提供了遍历集合的能力。Collection接口是Java集合类中最高级的接口,提供了基本的...
在Java编程中,HashMap、HashSet、TreeMap和TreeSet是四种常见的集合类,它们各自有特定的用途和内部实现机制。这些数据结构用于存储和管理数据,其中HashMap和HashSet是基于哈希表实现的,而TreeMap和TreeSet则是...
Set接口(如HashSet、TreeSet)则确保元素唯一性,不保证顺序,适用于去重或存储不需排序的独特元素;而Map接口(如HashMap、TreeMap)用于存储键值对,键是唯一的,可以快速查找对应的值。 关于“HashSet保证数据...
HashSet 和 TreeSet 的区别 HashSet 和 TreeSet 都是 Set 接口的实现类,但是它们在实现和应用场景上有所不同。HashSet 是基于哈希表实现的,查找和访问元素的时间复杂度为 O(1)。TreeSet 是基于树形结构实现的,...
本资源聚焦于Java集合中的四个关键类:HashSet、TreeSet、HashMap和TreeMap,它们分别代表了不同类型的集合容器。 1. **HashSet**:HashSet是一个不允许重复元素的无序集合。它基于哈希表实现,插入和查找操作的...
`TreeSet`在许多场景下比其他集合如`ArrayList`或`HashSet`更有优势,因为它的元素总是按特定顺序排列,并且支持高效的查找、插入和删除操作。 首先,`TreeSet`的特性包括: 1. **有序性**:`TreeSet`中的元素会...
本次调研的目标是了解和掌握Java中高级类的用法,特别是ArrayList、LinkedList、HashSet和TreeSet这四种数据结构的查询性能。通过比较它们在不同规模数据下的查找速度,我们可以根据实际需求选择最适合的数据结构。 ...
HashSet 和 TreeSet 有什么区别? HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序? 什么是 Comparable 和 Comparator ...
Set接口扩展了Collection,不允许重复元素,并且有HashSet和TreeSet作为具体实现。SortedSet接口进一步扩展Set,保证元素按照特定顺序排列。List接口也继承自Collection,支持有序元素,并可通过索引访问,常见的...