.equals()
の基本的な実装では、キーの値のペアであるため、mem refではなく、2 Map
を同じものとして扱うという問題があります。私はこれが正しい手順であることを知っているが、私は依然としてユニークな参照に従って別のArrayList
にそれらを追加したいと思う。ArrayList.containsを使用して回避する方法==
String[] sortedStringOfDatesFromTempMaps = new String[dates.length];
List<Map<String, String>> tempTradeMap;
for (int i = 0; i < sortedStringOfDatesFromTempMaps.length; i++) {
String[] stringSplitArr = new String[2];
stringSplitArr = sortedStringOfDatesFromTempMaps[i].split("=");
for (int j = 0; j < tempTradeMap.size(); j++) {
if (tempTradeMap.get(j).containsValue(stringSplitArr[0])
&& tempTradeMap.get(j).containsValue(stringSplitArr[1])){
if(!sortedMapList.contains(tempTradeMap.get(j))){
sortedMapList.add(tempTradeMap.get(j));
}
break;
}
}
}
私が午前問題はsortedMapList
が最初の場所で、渡された要素の数が同じでなければならないということです。しかし、包含インプラントはそれらを等しく扱うので、インパクトを加えるだけです。したがって、5つの要素があり、2つの複製ペアがある場合、最終リストには3つの要素しか含まれません。
問題が発生している行「sortedMapList.contains(tempTradeMap.get(j))」ですか? – DJClayworth
はい、そうです、私は参照して、KVのペアではないチェックしたい。 – user1089599