在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

Java中ArrayList的使用方法简单介绍

2016-12-20 13:16| 发布者: zhangjf| 查看: 445| 评论: 0

摘要: ArrayList没有封装好的去重方法,比如对于一个的ArrayList,我要去除其中的重复的元素, 我也不想把语句也这么长,也不想用for循环的方法去重,那么可以先考虑把ArrayList转化为一个临时的HashSet,再把这个临时的H ...

ArrayList没有封装好的去重方法,比如对于一个[2, 5, 2, 3, 2, 4]的ArrayList,我要去除其中的重复的元素,
我也不想把语句也这么长,也不想用for循环的方法去重,那么可以先考虑把ArrayList转化为一个临时的HashSet,再把这个临时的HashSet转化回ArrayList,因为HashSet里面的元素是不可重复的嘛!至于什么是ArrayList与HashSet,在《详解java中的Collections类》已经说得很清楚了,这里不再赘述。
你可以这样写:
HashSet hashset_temp = new HashSet(arraylist);
arraylist = new ArrayList(hashset_temp);
也可以写得更加简洁,连那个临时的hashset_temp变量都不要了:
arraylist = new ArrayList(new HashSet(arraylist));
之后,ArrayList的元素变为[2, 3, 4, 5]

下面再为大家分享ArrayList去重的两种方法

//去重复方法一

  1. private ArrayList RemoveDuplicateNum(ArrayList list)
  2. {
  3. list.Sort();
  4. for (int i = 0; i < list.Count - 1; i++)
  5. {
  6. if (list[i].Equals(list[i + 1]))
  7. {
  8. list.RemoveAt(i);//去重复项
  9. i--;
  10. }
  11. }
  12. return list;
  13. }
复制代码

//去重复方法二

  1. private ArrayList RemoveSame(ArrayList list)
  2. {
  3. //上面写的那句是多余的,这个是最终的
  4. for (int i = 0; i < list.Count - 1; i++)
  5. {
  6. for (int j = i + 1; j < list.Count; j++)
  7. {
  8. if (list[i].Equals(list[j]))
  9. {
  10. list.RemoveAt(j);
  11. j--;
  12. }
  13. }
  14. }
  15. return list;
  16. }
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 17:00

Copyright 2015-2025 djqfx

返回顶部