黑马程序员技术交流社区

标题: JAVA删除集合中元素常见方法汇总 [打印本页]

作者: 七丶哥    时间: 2014-9-3 20:22
标题: JAVA删除集合中元素常见方法汇总
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]
复制代码






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2