Java是一種常用的編程語言,用于開發各種應用程序。在Java中,經常需要查找重復元素和其對應的下標。下面介紹一些實現方法。
int[] arr = {1, 2, 3, 4, 5, 4, 3}; Map>map = new HashMap<>(); for (int i = 0; i< arr.length; i++) { if (!map.containsKey(arr[i])) { List list = new ArrayList<>(); list.add(i); map.put(arr[i], list); } else { map.get(arr[i]).add(i); } } for (Integer key : map.keySet()) { List list = map.get(key); if (list.size() >1) { System.out.println("重復元素:" + key + ",下標為:" + list); } }
以上代碼使用了HashMap實現,遍歷數組時,使用HashMap記錄每個元素出現的下標。如果元素第一次出現,則新建ArrayList對象并添加其下標,然后將元素和該ArrayList對象作為鍵值對存入HashMap中;若元素已經出現過,則從HashMap中取出其對應的ArrayList對象,并將其下標添加進去。最后,遍歷HashMap中的每個鍵值對,如果ArrayList對象中的元素數大于1,則輸出該元素和對應的下標。
上一篇python畫圖箭頭消失
下一篇php goto 遞歸