Java中ArrayList的使用方法简单介绍
程序员文章站
2024-03-12 20:45:08
arraylist没有封装好的去重方法,比如对于一个[2, 5, 2, 3, 2, 4]的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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 深入了解Java GC的工作原理