`

java的set对于重复数据的add操作

 
阅读更多
java对于重复的元素不是覆盖,而是直接忽略。这个是要注意下的。




public class Test {

	public static void main(String[] args) throws Exception {
		Set<User> set = new HashSet<User>();
		User user1 = User.valueOf("11", "22");
		User user2 = User.valueOf("11", "33");
		set.add(user1);
		set.add(user2);
		for (User user : set) {
			System.err.println(user.getName());
			System.err.println(user.getPassword());
		}

	}

}







public class User {
	private String name;
	private String password;

	public static User valueOf(String name, String password) {
		User user = new User();
		user.name = name;
		user.password = password;
		return user;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null || getName() == null) {
			return false;
		}
		User other = (User) obj;
		return other.getName().equals(getName());
	}

	@Override
	public int hashCode() {
		if (getName() == null) {
			return 0;
		}
		return getName().hashCode();
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}


结果是:
11
22
分享到:
评论

相关推荐

    java 去除重复元素

    在Java编程中,处理数据集合时,我们常常会遇到去除重复元素的需求。这可能是为了保持数据的唯一性,或者为了优化存储和计算效率。本文将详细介绍如何在Java中去除重复元素,主要关注数组和列表这两种常见数据结构。...

    JAVA中常用的数据结构

    Collection接口是JAVA中所有集合类的父接口,它提供了基本的集合操作方法,如add、remove、contains、size等。Collection接口的实现类有很多,如List、Set、Map等。 List接口 List接口继承自Collection接口,是一...

    利用Java Set 去除重复object的方法

    在Java编程中,当我们处理一组数据并希望去除其中的重复元素时,Set接口是一个非常有用的工具。本篇文章将深入探讨如何利用Java Set去除重复的Object对象,并解释在处理自定义对象时重写`equals()`和`hashCode()`...

    java集合知识-map、set等

    Set:元素不可以重复,是无序。p508 Set接口中的方法和Collection一致。 |--HashSet: 内部数据结构是哈希表 ,是不同步的。 如何保证该集合的元素唯一性呢? 是通过对象的hashCode和equals方法来完成对象唯一性的...

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等...

    java 去掉重复字符 三个方法

    在Java编程中,有时我们需要处理字符串,特别是去除其中的重复字符。这可能在处理用户输入、数据清洗或创建唯一标识时变得尤为重要。本教程将详细讲解三种不同的方法来实现这个功能,适合Java初学者作为学习参考资料...

    java 去除重复字符

    在Java编程语言中,去除字符串中的重复字符是一个常见的任务,特别是在处理用户输入或者进行文本处理时。本主题将深入探讨如何使用不同的方法来实现这一功能,以满足各种场景的需求。 首先,我们可以使用Java的`...

    数据结构-集合(Set)介绍和Java示例代码

    数据结构中的集合(Set)是一种基础且重要的概念,尤其在编程语言如Java中。集合类在Java中提供了多种实现,包括HashSet、TreeSet等,它们都遵循集合的基本特性:唯一性、无序性和可变大小。 唯一性是集合的核心...

    java版数据结构代码

    9. **集合(Set)**:Java中的`java.util.Set`接口表示不包含重复元素的集合,`HashSet`和`TreeSet`分别是基于哈希表和树实现的集合。 10. **列表(List)**:`java.util.List`接口表示有序的元素集合,支持重复...

    【IT十八掌徐培成】Java基础第10天-05.set特点与操作.zip

    今天我们将深入探讨Set的特点以及在Java中如何进行操作。Set接口代表了一组不包含重复元素的集合,它强调的是元素的唯一性,不保证元素的顺序。在Java中,Set接口有多个实现类,如HashSet、TreeSet等,它们各有各的...

    Java-Java集合体系-List-Set

    Java集合体系是Java编程中非常核心的部分,涵盖了用于存储和操作数据的各种数据结构。在Java中,集合主要分为三大接口:List、Set和Map。这些接口各有特点,适用于不同的应用场景。 一、List接口 List接口是单列...

    数据结构和Java集合框架

    数据结构和Java集合框架是Java编程中至关重要的概念,它们是高效编程和算法设计的基础。在Java中,数据结构指的是组织、存储和管理数据的方式,而集合框架则是一组接口和类,为处理各种数据结构提供了统一的API。 ...

    java语言实现数据结构

    ### Java语言实现数据结构知识点详解 #### 一、引言 在计算机科学中,数据结构是研究非数值计算的程序设计问题中计算机的操作对象及其之间的关系和操作等的学科。本篇文章将根据提供的文档信息,深入探讨Java语言...

    Java集合框架Set接口.pdf

    Java集合框架中的Set接口是Java编程中不可或缺的一部分,主要用于存储不允许重复的元素。...了解和熟练使用这些方法对于Java开发人员来说至关重要,因为Set接口及其实现类在处理无重复数据集时非常实用。

    java计算同一个list中是否有相同的值

    特别是在数据处理、验证或分析等场景中,确保数据的唯一性对于维持数据完整性至关重要。 #### 核心概念解析 在给定的代码片段中,作者提供了一个方法来检测一个 `List` 中是否存在重复项,并统计最大重复次数。...

    Tedu一阶段JavaSet集合和List集合

    ### Tedu一阶段Java Set集合和List集合详解 #### 一、集合概述 - **集合的概念**:在Java中,集合是一种容器,...掌握这些知识点对于Java开发者来说至关重要,能够帮助他们在实际开发中更高效地处理集合数据结构。

    数据结构常考知识点(java实现版)

    Set接口代表不包含重复元素的集合,Java提供了HashSet和TreeSet实现。List接口代表有序的元素集合,ArrayList和LinkedList分别基于数组和链表实现。 8. 分类排序算法: 排序是数据处理的重要部分,Java提供了内置的...

    java-data-struct.rar_数据结构 java_数据结构源码

    5. **集合(Set)**:Java.util.Set接口表示不包含重复元素的集合,例如HashSet类提供了快速查找功能。 6. **映射(Map)**:Map接口用于存储键值对,如HashMap类提供了高效的查找和插入操作。 7. **树结构**:...

    Java集合Collection、List、Set、Map使用详解

    除了Collection接口中的方法外,List还提供了`get(int index)`、`set(int index, E element)`、`add(int index, E element)`等与索引操作相关的API。 1.3.3 实现原理 ArrayList基于动态数组实现,适合随机访问,...

Global site tag (gtag.js) - Google Analytics