Я написал простую тестовую программу, в которой я пытаюсь сохранить уникальную пару (String, String). Вот ниже я упомянул часть кода:Как сохранить уникальную пару строк в Java?
public class Pair {
private String cr_ts_hi;
private String cr_ts_lo;
//constructor and getter-setter
}
class Test{
private static HashSet<Pair> caseExceptionReport = new LinkedHashSet<Pair>();
public static void main(String[] args) {
caseExceptionReport.add(new Pair("abc","itm1"));caseExceptionReport.add(new Pair("abc","itm2"));
caseExceptionReport.add(new Pair("abc","itm1"));caseExceptionReport.add(new Pair("def","itm1"));
caseExceptionReport.add(new Pair("def","itm2"));caseExceptionReport.add(new Pair("def","itm2"));
caseExceptionReport.add(new Pair("xyz","itm1"));caseExceptionReport.add(new Pair("xyz","itm2"));
for(Pair m:caseExceptionReport){
System.out.println(m.getCr_ts_hi() + " *** " + m.getCr_ts_lo());
}
}
И результат:
abc *** item1
abc *** item2
abc *** item1
def *** item1
def *** item2
def *** item2
xyz *** item1
xyz *** item2
Ожидаемый результат:
abc *** item1
abc *** item2
def *** item1
def *** item2
xyz *** item1
xyz *** item2
Я не получаю способ хранения уникальных пар. Хотя HashSet не позволит дублировать пар, но он не работает. Любая другая идея для этого?
переопределение приравнивает и метод Hashcode в классе Пара –