- 浏览: 119921 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
gtd03:
[b][/b][i][/i][u][/u]引用[*][img] ...
js 监听监键盘动作 -
tomfish88:
你用5条数据太少了,你用50000条你就看出差距了
多线程效率问题
import java.util.Set ; import java.util.HashSet ; class Person{ private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public boolean equals(Object obj){ // 覆写equals,完成对象比较 if(this==obj){ return true ; } if(!(obj instanceof Person)){ return false ; } Person p = (Person)obj ; // 向下转型 if(this.name.equals(p.name)&&this.age==p.age){ return true ; }else{ return false ; } } public int hashCode(){ return this.name.hashCode() * this.age ; // 定义一个公式 } public String toString(){ return "姓名:" + this.name + ";年龄:" + this.age ; } }; public class RepeatDemo02{ public static void main(String args[]){ Set<Person> allSet = new HashSet<Person>() ; allSet.add(new Person("张三",30)) ; allSet.add(new Person("李四",31)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("赵六",33)) ; allSet.add(new Person("孙七",33)) ; System.out.println(allSet) ; } };
对对象去重
TreeSet 排序
import java.util.Set ; import java.util.TreeSet ; class Person implements Comparable<Person>{ private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public String toString(){ return "姓名:" + this.name + ";年龄:" + this.age ; } public int compareTo(Person per){ if(this.age>per.age){ return 1 ; }else if(this.age<per.age){ return -1 ; }else{ return this.name.compareTo(per.name) ; // 调用String中的compareTo()方法 } } }; public class TreeSetDemo04{ public static void main(String args[]){ Set<Person> allSet = new TreeSet<Person>() ; allSet.add(new Person("张三",30)) ; allSet.add(new Person("李四",31)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("王五",32)) ; allSet.add(new Person("赵六",33)) ; allSet.add(new Person("孙七",33)) ; System.out.println(allSet) ; } };
- 031305_【第13章:JAVA类集】_排序及重复元素说明笔记.PDF (167.4 KB)
- 下载次数: 12
发表评论
-
ServerSocket 多线程服务器开发
2011-04-24 16:24 1688package socket; import j ... -
InetAddress 获得IP
2011-04-24 15:43 1544import java.net.InetAddress ... -
接口的作用 宠物商店
2011-04-24 15:14 1210package PetShopDemo; inte ... -
Arrays
2011-04-24 14:15 793package ArraysTest; impor ... -
Cloneable 对象克隆
2011-04-24 14:08 1087class Person implements Clon ... -
System
2011-04-24 13:59 837package SystemTest; publi ... -
Collections
2011-04-24 13:40 1382import java.util.Collections ... -
TreeSet对象排序的方法
2011-04-24 13:09 1498package set; import java. ... -
HashMap 的两种遍历方式
2011-04-24 12:35 767public static void main(Str ... -
ENUMERATION接口
2011-04-23 14:51 800很少用 import java.util.Vec ... -
ListIterator
2011-04-23 14:44 9921 只能有List实例化 2 必须先有头到尾,才能由尾到头 ... -
Iterator
2011-04-23 14:36 1072import java.util.List ; imp ... -
List.subList 得到的新数组地址指向旧数组
2011-04-23 14:22 1087public static void main(Str ... -
SortedSet
2011-04-23 13:50 885import java.util.SortedSet ; ... -
HashSet TreeSet
2011-04-23 13:43 816import java.util.HashSet ; ... -
LinkedList 队列
2011-04-23 13:36 895import java.util.LinkedList ... -
List Vector
2011-04-23 13:14 780import java.util.ArrayList ; ... -
collection 接口
2011-04-23 12:09 695图片 -
Properties 属性 properties xml
2011-04-21 22:40 946import java.util.Properties; ... -
stack 栈
2011-04-21 22:29 517import java.util.Stack ; pu ...
相关推荐
2. **`equals`方法**:用于判断两个对象是否相等,这是`HashSet`去重的关键。 #### 三、`hashCode`与`equals`方法的重要性 - **`hashCode`方法**:每个对象都有一个哈希码,由对象的`hashCode()`方法返回。`...
在Java中,对List对象列表实现去重或取出及排序是一种常见的操作。下面将详细介绍相关的方法和实现。 1. 实体类重写equals和hashCode方法 在Java中,想要去重List对象列表,首先需要重写实体类的equals和hashCode...
以上就是对Java中List集合对象去重及按属性去重的8种方法的详细解释。每种方法都有其适用场景,开发者应根据实际需求选择合适的方法。在实现这些方法时,要确保对象的`equals()`和`hashCode()`方法正确实现,以保证...
在Java中处理JSON数据时,经常需要对JSON数组进行各种操作,其中去重是一个常见的需求。本文将详细介绍如何使用Java对`JSONArray`进行去重操作,并深入探讨背后的原理和技术细节。 ### JSON与Java JSON...
List对象去重可以使用HashSet来实现。HashSet是一个无序的集合,不能包含重复元素。我们可以将List对象转换为HashSet,然后再将HashSet转换回List对象。这样,重复元素就被自动删除了。 在上面的代码中,我们首先...
当我们需要对元素执行某些操作,比如调用其方法,可以这样操作:首先,将对象添加到HashSet中;然后,通过HashSet的contains()方法查找对象;最后,如果找到了该对象,就可以直接调用其方法。例如: ```java ...
在上面的代码中,我们首先使用HashSet对List进行去重操作,然后使用Comparator对List进行排序操作,以实现去重并排序的操作。 四、结论 本文详细介绍了Java实现对两个List快速去重并排序操作的方法和技巧。通过...
Java中提供了多种方法来实现List去重,下面我们将对其中的一些方法进行介绍。 使用HashSet去重 HashSet是一种常见的集合类型,它具有自动去重的特性。我们可以将List中的元素添加到HashSet中,然后从HashSet中...
基于这一特性,我们可以将需要去重的列表转换为`HashSet`,再将处理后的`HashSet`转换回列表,从而达到去重的效果。 #### 2. 代码实现 ```java // 假设有一个包含重复元素的列表 list List<T> list = ...; // 创建...
在实际应用中,HashSet常用于去重、快速查找和构建无重复元素的集合。例如,你可以用它来存储用户输入的唯一关键字,或者在处理数据库查询结果时去除重复记录。此外,HashSet也可以与其他集合类(如ArrayList和...
这段代码首先创建了一个HashSet`uniqueNumbers`,然后通过`Scanner`对象从控制台读取电话号码。`add`方法会自动检查并移除重复的电话号码。最后,我们遍历Set并打印出所有不重复的号码。 然而,根据题目描述,这个...
总的来说,Java中的HashSet是处理无序、去重数据集的有效工具。在实际编程中,我们可以根据需求,结合HashSet的特点,灵活地进行元素的增删查改操作。通过理解HashSet的工作原理和其提供的方法,能够更好地优化我们...
去重可以通过多种方式实现,其中最常用的是使用`HashSet`。`HashSet`是C#中的一种集合类,它不允许重复元素。我们可以通过添加所有元素到`HashSet`中,然后再转换回数组,来实现去重。例如: ```csharp HashSet...
当处理自定义对象时,如果对象的equals()和hashCode()方法没有正确重写,HashSet可能无法正常工作。此时,我们需要根据业务逻辑定制比较规则,使用Comparator来实现去重。 ```java List<MyObject> list = new ...
这里`distinctByKey()`函数是通过Lambda表达式创建的,它返回一个根据对象的`type`和`color`属性组合而成的字符串,以此作为去重的依据。 总结来说,选择哪种去重方法取决于具体的需求。对于小规模数据,简单的双重...
接下来,我们使用HashSet对象来存储HashMap对象的key值,并将其转换为List对象。最后,我们返回该List对象。 在main方法中,我们测试了removeRepeatMapByKey方法,并将其应用于我们创建的List对象。结果显示,List...
C#中,可以使用HashSet、Dictionary或其他数据结构来高效地实现去重。HashSet允许快速插入和查找,不存储重复元素;Dictionary则可以通过键值对的方式避免重复,但需确保键的唯一性。在处理大量数据时,利用这些数据...
1. 使用HashSet去重:HashSet是Java集合框架中的一个无序、不重复元素的集合。当我们尝试将一个列表添加到HashSet中时,由于HashSet不允许重复元素,它会自动过滤掉重复项。因此,我们可以通过以下方式去重: ```...