java arraylist 去除重复元素 我这个程序该怎么改
importjava.util.ArrayList;publicclassArrayListDemoRemove{publicstaticvoidmain(String[...
import java.util.ArrayList;
public class ArrayListDemoRemove {
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("张三");
array.add("李四");
array.add("王五");
array.add("王五");
array.add("李四");
for (int i=0;i<=array.size();i++){
for(int j=1;j<=array.size();j++){
if (array.get(i).equals(array.get(j))){
array.remove(i);
}
}
}
}
}
应该是越界问题 该怎么改 展开
public class ArrayListDemoRemove {
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("张三");
array.add("李四");
array.add("王五");
array.add("王五");
array.add("李四");
for (int i=0;i<=array.size();i++){
for(int j=1;j<=array.size();j++){
if (array.get(i).equals(array.get(j))){
array.remove(i);
}
}
}
}
}
应该是越界问题 该怎么改 展开
展开全部
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("王麻子");
array.add("李四");
array.add("张三");
array.add("张三");
array.add("张三");
array.add("李四");
array.add("王五");
array.add("王五");
array.add("李四");
array.add("李四");
array.add("李四");
array.add("王麻子");
for (int i=0;i<array.size();i++){
for(int j=0;j<array.size();j++){
if(i!=j){
if (array.get(i).equals(array.get(j))){
array.remove(j);
j--;
}
}
}
}
for(int i=0;i<array.size();i++){
System.out.println(array.get(i));
}
}
照着楼主的思路写,基本就加了个判断 外层循环 的下标不能等于内层循环下标,内外层下标一致,值肯定是一直的 ,还有for循环的里面的判断改了一下
还有下面的人说 用set也是个好办法,set 能过滤重复值 HashSet 对象.add(值),循环Hashset 添加到ArrayList 对象
ArrayList array = new ArrayList();
array.add("王麻子");
array.add("李四");
array.add("张三");
array.add("张三");
array.add("张三");
array.add("李四");
array.add("王五");
array.add("王五");
array.add("李四");
array.add("李四");
array.add("李四");
array.add("王麻子");
for (int i=0;i<array.size();i++){
for(int j=0;j<array.size();j++){
if(i!=j){
if (array.get(i).equals(array.get(j))){
array.remove(j);
j--;
}
}
}
}
for(int i=0;i<array.size();i++){
System.out.println(array.get(i));
}
}
照着楼主的思路写,基本就加了个判断 外层循环 的下标不能等于内层循环下标,内外层下标一致,值肯定是一直的 ,还有for循环的里面的判断改了一下
还有下面的人说 用set也是个好办法,set 能过滤重复值 HashSet 对象.add(值),循环Hashset 添加到ArrayList 对象
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询