java数组去重总结

来源:互联网 发布:阿里云飞天 编辑:程序博客网 时间:2024/05/21 23:48

方法一:
先遍历原数组,然后遍历结束集,通过每个数组的元素和结果集中的元素进行比对,若相同则break。若不相同,则存入结果集。
两层循环进行遍历得出最终结果。

String[] array = {"a","b","c","c","d","e","e","e","a"};  List<String> result = new ArrayList<String>();  boolean flag;  for(int i=0;i<array.length;i++){      flag = false;      for(int j=0;j<result.size();j++){          if(array[i].equals(result.get(j))){              flag = true;              break;          }      }      if(!flag){          result.add(array[i]);      }  }  String[] arrayResult = (String[]) result.toArray(new String[result.size()]);  System.out.println(Arrays.toString(arrayResult));  
输出结果:[a, b, c, d, e]

方法二
通过使用indexOf方法进行判断结果集中是否存在了数组元素。

String[] array = {"a","b","c","c","d","e","e","e","a"};  List<String> list = new ArrayList<String>();  list.add(array[0]);  for(int i=1;i<array.length;i++){      if(list.toString().indexOf(array[i]) == -1){              list.add(array[i]);      }  }  String[] arrayResult = (String[]) list.toArray(new String[list.size()]);  System.out.println(Arrays.toString(arrayResult));  

输出结果:[a, b, c, d, e]

方法三
嵌套循环,进行比较获取满足条件结果集。

String[] array = {"a","b","c","c","d","e","e","e","a"};  List<String> list = new ArrayList<String>();  for(int i=0;i<array.length;i++){      for(int j=i+1;j<array.length;j++){          if(array[i] == array[j]){              j = ++i;          }      }      list.add(array[i]);  }  String[] arrayResult = (String[]) list.toArray(new String[list.size()]);  System.out.println(Arrays.toString(arrayResult));  

输出结果:[b, c, d, e, a]

方法四
先使用java提供的数组排序方法进行排序,然后进行一层for循环,进行相邻数据的比较即可获得最终结果集。

String[] array = { "a", "b", "c", "c", "d", "e", "e", "e", "a" };        Arrays.sort(array);        List<String> list = new ArrayList<String>();        list.add(array[0]);        for (int i = 1; i < array.length; i++) {            if (!array[i].equals(list.get(list.size() - 1))) {                list.add(array[i]);            }        }        String[] arrayResult = (String[]) list.toArray(new String[list.size()]);         System.out.println(Arrays.toString(arrayResult));

输出结果:[a, b, c, d, e]

方法五
加入set方法进行添加,虽然是无序排列,但是也更方便的解决了去重的问题。

String[] array = {"a","b","c","c","d","e","e","e","a"};              Set<String> set = new HashSet<String>();              for(int i=0;i<array.length;i++){                  set.add(array[i]);              }              String[] arrayResult = (String[]) set.toArray(new String[set.size()]);              System.out.println(Arrays.toString(arrayResult));  

输出结果:[d, e, b, c, a]


总结
①.ArrayList集合转数组

String[] arrayResult = (String[]) list.toArray(new String[list.size()]);  

版权说明:感谢原作者的辛苦创作,如转载涉及版权等问题,我们将在第一时间删除,谢谢。
联系邮箱:906083650@qq.com

阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝正常大便图 大便超人图片 新生儿的大便 宝宝大便墨绿色 宝宝绿色大便 大便形状看健康图 孩子大便绿色 宝宝大便绿色 正常大便颜色和形状 拉大便黑色是什么原因 大便成黑色是怎么回事 几天上一次大便正常吗 大便是黑色怎么回事 大便不成型怎么办 经常大便怎么回事 大便一天一次正常吗 黑色的大便是什么原因 几天不大便正常吗 大便是黑色是怎么回事 每天大便几次算正常 大便黑色是为什么 几天没大便是什么原因 大便不成型什么原因 大便是黑色什么原因 大便有油是怎么回事 大便有血什么回事 大便黑色的是怎么回事 不大便怎么回事 大便不规律是什么原因 大便臭是怎么回事 大便怎么是黑色的 两天一次大便正常吗 大便几天一次正常 大便不正常挂什么科 大便又干又硬怎么办 宝宝便便 婴儿拉屎 婴儿排便次数 婴儿粪便 婴儿便便 宝宝拉屎