Test.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.sf.day16._04_iter;
  2. import java.util.*;
  3. /**
  4. * create By fjl
  5. */
  6. public class Test {
  7. public static void main(String[] args) {
  8. // method3();
  9. method5();
  10. }
  11. private static void method5() {
  12. /**
  13. * 需求: 有一个集合,要求在控制台当中输入集合中元素一共有4个
  14. * 遍历集合元素,如果元素是西游记就删除西游记, 要求用迭代器或者是foreach
  15. */
  16. List<String> list = new ArrayList<>();
  17. Scanner scanner = new Scanner(System.in);
  18. for (int i = 0; i < 4; i++) {
  19. System.out.println("请输入四大名著:");
  20. String item = scanner.next();
  21. list.add(item);
  22. }
  23. // System.out.println(list);
  24. // 使用迭代器或者是forEach 进行迭代
  25. // for (String str:list) {
  26. // if("西游记".equals(str)){
  27. // list.remove("西游记");
  28. // }
  29. // }
  30. // 解决要使用迭代器自带删除方法
  31. Iterator<String> iterator = list.iterator();
  32. while (iterator.hasNext()){
  33. String item = iterator.next();
  34. if("西游记".equals(item)){
  35. iterator.remove();
  36. }
  37. }
  38. System.out.println(list);
  39. }
  40. private static void method4() {
  41. // jdk8 提供新特性 lambda表达式
  42. List<String> list = Arrays.asList("西游记", "红楼梦", "水浒传", "三国演义");
  43. list.forEach(ele-> System.out.println(ele));
  44. }
  45. private static void method3() {
  46. // 提供简单方式去创建List
  47. // Arrays.asList():
  48. // ... 可变数组,可以传递多个参数
  49. List<String> list = Arrays.asList("西游记", "红楼梦", "水浒传", "三国演义");
  50. for (String ele:list) {
  51. System.out.println(ele);
  52. }
  53. }
  54. private static void method2() {
  55. //1 如何获取迭代器对象 , 在集合当中是有 list.itertion():
  56. List<String> list = new ArrayList<>();
  57. list.add("西游记");
  58. list.add("红楼梦");
  59. list.add("水浒传");
  60. list.add("三国演义");
  61. Iterator<String> iterator = list.iterator();
  62. System.out.println(iterator.hasNext());
  63. // 如何拿到结合当中所有的元素呢?
  64. // 还是使用for循环吗? 不是我们使用的是while
  65. while (iterator.hasNext()){
  66. System.out.println(iterator.next());
  67. }
  68. }
  69. private static void method1() {
  70. // 先往List 集合当中添加4个元素
  71. List<String> list = new ArrayList<>();
  72. list.add("西游记");
  73. list.add("红楼梦");
  74. list.add("水浒传");
  75. list.add("三国演义");
  76. // 遍历list集合
  77. for (int i = 0; i < list.size(); i++) {
  78. System.out.println(list.get(i));
  79. }
  80. }
  81. }