A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 七丶哥 中级黑马   /  2014-9-3 20:22  /  873 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java删除集合中的元素常见方法汇总

Java代码如下:




  1. public static void main(String[] args) {
  2. removeItem1();
  3. removeItem2();
  4. removeItem3();
  5. }

  6. private static void removeItem1() {
  7. List<Integer> list = getList();
  8. // 使用迭代器
  9. Iterator<Integer> iter = list.iterator();
  10. Integer item = null;
  11. while (iter.hasNext()) {
  12. item = iter.next();
  13. if (null != item && 5 == item.intValue()) {
  14. iter.remove();
  15. }
  16. }
  17. System.out.println(list);
  18. }

  19. private static void removeItem2() {
  20. List<Integer> list = getList();
  21. // 手动索引操作
  22. int len = list.size();
  23. Integer item = null;
  24. for (int i = 0;i < len;i++) {
  25. item = list.get(i);
  26. if (null != item && 5 == item.intValue()) {
  27. list.remove(item);
  28. i--;
  29. len--;
  30. }
  31. }
  32. System.out.println(list);
  33. }

  34. private static void removeItem3() {
  35. List<Integer> list = getList();
  36. // 使用引用克隆
  37. List<Integer> listCopy = new ArrayList<Integer>();
  38. listCopy.addAll(list);
  39. for (Integer item:list) {
  40. if (null != item && 5 == item.intValue()) {
  41. listCopy.remove(item);
  42. }
  43. }
  44. System.out.println(listCopy);
  45. }

  46. private static List<Integer> getList() {
  47. List<Integer> list = new ArrayList<Integer>();
  48. for (int i = 0;i < 10;i++) {
  49. list.add(i);
  50. }
  51. return list;
  52. }
  53. }

  54. Java代码运行结果:

  55. [0, 1, 2, 3, 4, 6, 7, 8, 9]
  56. [0, 1, 2, 3, 4, 6, 7, 8, 9]
  57. [0, 1, 2, 3, 4, 6, 7, 8, 9]
复制代码

您需要登录后才可以回帖 登录 | 加入黑马