在HashSet集合中添加三个String类对象,期中两个字符串内容相同,最后输出集合所有元素。用Java集合类编写程序
时间: 2024-03-01 17:52:11 浏览: 15
好的,根据您的要求,下面是一个简单的Java程序来实现您的要求:
```java
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
// 添加三个String类对象
set.add("hello");
set.add("world");
set.add("hello");
// 输出集合所有元素
for (String str : set) {
System.out.println(str);
}
}
}
```
运行结果为:
```
hello
world
```
可以看出,HashSet集合中只保留了不重复的元素,即去掉了两个内容相同的"hello"字符串。
相关问题
在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。
可以先重写Person类的hashCode()和equals()方法,使得姓名相同的Person对象具有相同的hashCode值和equals返回值。然后创建HashSet集合,将三个Person对象添加进去即可,由于重复的Person对象会被覆盖,所以不会出现重复添加的情况。具体代码如下:
```
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<Person> set = new HashSet<>();
set.add(new Person("张三", 20));
set.add(new Person("李四", 25));
set.add(new Person("张三", 22));
System.out.println(set);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
return name.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Person)) {
return false;
}
Person p = (Person) obj;
return this.name.equals(p.name);
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
在hashset集合中添加三个person对象
可以使用以下代码向HashSet集合中添加三个Person对象:
```
HashSet<Person> set = new HashSet<>();
Person p1 = new Person("张三", 20);
Person p2 = new Person("李四", 25);
Person p3 = new Person("王五", 30);
set.add(p1);
set.add(p2);
set.add(p3);
```
其中,Person是一个自定义类,需要先定义好该类并实现hashCode()和equals()方法。在上述代码中,先创建了一个HashSet集合对象set,然后创建了三个Person对象p1、p2、p3,并将它们依次添加到set集合中。最终,set集合中就包含了这三个Person对象。