java hashset转string数组
时间: 2023-07-01 10:06:47 浏览: 166
可以使用Java中的toArray()方法将HashSet转换为String数组,示例如下:
```java
HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("orange");
set.add("banana");
String[] arr = set.toArray(new String[set.size()]);
```
在上述示例中,我们首先创建了一个包含三个字符串的HashSet。然后,我们使用toArray()方法将其转换为String数组。请注意,我们将数组的大小指定为HashSet的大小。最终,我们得到了一个包含三个元素的String数组。
相关问题
java set转string数组
可以使用Java中的toArray方法将Set转换为String数组。示例代码如下:
```
Set<String> set = new HashSet<>();
set.add("hello");
set.add("world");
String[] strArray = set.toArray(new String[set.size()]);
```
注意,toArray方法需要传入一个带有相同元素类型的数组,如果数组大小不足,则会创建一个新的数组,这可能会影响性能。
java中如何用hashset将对象数组去重
可以通过重写对象的hashCode()和equals()方法来实现HashSet对对象数组的去重。
首先,在对象的类中重写hashCode()和equals()方法,保证相同的对象具有相同的hashCode值和equals返回值。
例如,假设我们有一个Person类,可以按照以下方式重写hashCode()和equals()方法:
```java
public 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 Objects.hash(name, age);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Person person = (Person) obj;
return age == person.age && Objects.equals(name, person.name);
}
}
```
然后,可以使用HashSet来存储Person对象的数组,并利用HashSet自身的去重特性来去重。
示例代码如下:
```java
Person[] people = new Person[5];
people[0] = new Person("Tom", 18);
people[1] = new Person("Jerry", 19);
people[2] = new Person("Tom", 18);
people[3] = new Person("Mike", 20);
people[4] = new Person("Jerry", 19);
Set<Person> set = new HashSet<>(Arrays.asList(people));
Person[] result = set.toArray(new Person[0]);
```
在上面的示例代码中,将Person对象数组转换成List后,再利用HashSet的构造函数将List转换成Set,这样就可以自动去重,并将去重后的结果转换成Person对象的数组返回。
阅读全文