我有一个包含值为
示例输出:[[0,2,6], [1,4]] 解释:
{a,b,a,c,d,b,a}
的 arrayList。
我想比较列表中的每个元素并将 common indexes
的 pair
插入到一个 List of array
中,或者使用 Java 实现类似操作。示例输出:[[0,2,6], [1,4]] 解释:
a
出现在索引 0, 2, 6
,b
出现在索引 1, 4
到目前为止,我已经实现了以下代码: HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
List<String> name = new ArrayList<String>();
letter.add("a");
letter.add("b");
letter.add("c");
letter.add("b");
letter.add("a");
for (int i = 0; i < letter.size(); i++) {
for (int j = 1; j < letter.size(); j++) {
if (letters.get(i).equals(letters.get(j)) && i != j) {
hashMap.put(i, j);
}
}
}
System.out.println(hashMap); //o/p: {0=4, 1=3, 3=1}
List<int[]> myList = new ArrayList<int[]>();
Iterator entries = hashMap.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
myList.add(new int[] {key,hashMap.get(key)});
}
System.out.println(myList.toString());
//O/P: [[I@380fb434, [I@668bc3d5, [I@3cda1055]
更新:我希望在myList
中获取[[0,4],[1,3],[3,1]]作为元素,但我无法获得。非常感谢您的任何帮助!谢谢!
根据索引数组,我想比较不同的List B
和C
中这些索引处的元素 - 比如在List B
和C
中的索引0,2,6
处比较元素,并检查所有三个元素是否相等。对于索引1,4
处的元素也是同样。