Java中ArrayList的應用辦法簡略引見。本站提示廣大學習愛好者:(Java中ArrayList的應用辦法簡略引見)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中ArrayList的應用辦法簡略引見正文
ArrayList沒有封裝好的去重辦法,好比關於一個[2, 5, 2, 3, 2, 4]的ArrayList,我要去除個中的反復的元素,
我也不想把語句也這麼長,也不想用for輪回的辦法去重,那末可以先斟酌把ArrayList轉化為一個暫時的HashSet,再把這個暫時的HashSet轉化回ArrayList,由於HashSet外面的元素是弗成反復的嘛!至於甚麼是ArrayList與HashSet,在《詳解java中的Collections類》曾經說得很清晰了,這裡不再贅述。
你可以如許寫:
HashSet<Integer> hashset_temp = new HashSet<Integer>(arraylist);
arraylist = new ArrayList<Integer>(hashset_temp);
也能夠寫得加倍簡練,連誰人暫時的hashset_temp變量都不要了:
arraylist = new ArrayList<Integer>(new HashSet<Integer>(arraylist));
以後,ArrayList的元素變成[2, 3, 4, 5]
上面再為年夜家分享ArrayList去重的兩種辦法
//去反復辦法一
private ArrayList RemoveDuplicateNum(ArrayList list) { list.Sort(); for (int i = 0; i < list.Count - 1; i++) { if (list[i].Equals(list[i + 1])) { list.RemoveAt(i);//去反復項 i--; } } return list; }
//去反復辦法二
private ArrayList RemoveSame(ArrayList list) { //下面寫的那句是過剩的,這個是終究的 for (int i = 0; i < list.Count - 1; i++) { for (int j = i + 1; j < list.Count; j++) { if (list[i].Equals(list[j])) { list.RemoveAt(j); j--; } } } return list; }
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。