java用HashSet<>对分数去重且保持原来顺序的方法
时间: 2024-03-18 10:42:17 浏览: 58
可以使用LinkedHashSet类来实现对分数去重且保持原来顺序的功能。
1. 首先,将分数存储在一个ArrayList中。
2. 然后,创建一个LinkedHashSet对象,使用ArrayList中的元素初始化该对象。
3. 最后,将LinkedHashSet对象转换回ArrayList,即可得到去重且保持原来顺序的分数列表。
以下是示例代码:
```java
import java.util.*;
public class FractionExample {
public static void main(String[] args) {
// 创建一个包含分数的ArrayList
ArrayList<Fraction> fractions = new ArrayList<>();
fractions.add(new Fraction(1, 2));
fractions.add(new Fraction(2, 3));
fractions.add(new Fraction(1, 2));
fractions.add(new Fraction(3, 4));
fractions.add(new Fraction(2, 3));
fractions.add(new Fraction(1, 2));
// 使用LinkedHashSet去重并保持原来顺序
LinkedHashSet<Fraction> set = new LinkedHashSet<>(fractions);
ArrayList<Fraction> result = new ArrayList<>(set);
// 输出去重后的分数列表
for (Fraction f : result) {
System.out.println(f);
}
}
}
class Fraction {
int numerator;
int denominator;
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public String toString() {
return numerator + "/" + denominator;
}
}
```
输出结果为:
```
1/2
2/3
3/4
```
阅读全文