List中取出特定数据

1.for循环遍历删除指定元素

		List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        for (int i = 0; i < list.size(); i++) {
            System.out.println("i="+i+"//str="+list.get(i));
            if (list.get(i).equals("b")) {
                list.remove(i);
            }
        }
  •  

程序运行结果如图:
如图
由结果分析可知,利用for遍历删除,删除某个元素之后,list的大小发生变化,索引也发生变化,当删除索引为1的b之后,继续根据索引访问索引为2的元素,由于删除的缘故后面元素自动往前移动一位,故此时索引2上的元素已经不再是c,而变成了f,也就是如图所打印出来的结果,故for循环适合删除特定一位元素,不适合循环删除特定元素;

2.增强for循环删除指定元素

        List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        for (String s : list) {
            System.out.println("------"+s+"------");
            if ("b".equals(s)) {
                list.remove(s);
            }
        }
  •  

程序运行结果如图:
如图

3.iterator删除指定元素

        List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            System.out.println("------"+next+"------");
            if ("b".equals(next)) {
                iterator.remove();
            }
        }
        System.out.println(list.toString());
  •  

结果如图:
如图
可以正常删除

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java 8,可以使用Stream API来从List获取等于某个特定数据。 首先,要将List转换为Stream对象,可以使用list.stream()方法。然后,可以使用filter()方法来筛选出满足某个条件的元素。在这个例子,我们需要筛选出与特定相等的元素,可以使用equals()方法来进行比较。 下面是一个示例代码: ``` import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(2); list.add(4); int value = 2; List<Integer> result = list.stream() .filter(e -> e.equals(value)) .collect(Collectors.toList()); System.out.println(result); } } ``` 在这个例子,我们创建了一个包含整数的List,并向其添加了一些数据。然后,我们定义了一个value变量,表示要筛选的特定。接下来,我们使用Stream API的filter()方法,传入一个Lambda表达式,该表达式将会过滤出与value相等的元素。最后,我们使用collect()方法来将结果收集到一个新的List对象,并打印出来。 运行这段代码,输出应该为: ``` [2, 2] ``` 这里只有与value相等的元素2被筛选出来。 这就是在Java 8使用Stream API从List获取等于某个数据的方法。 ### 回答2: 在Java 8,可以使用Stream API来取出List等于某个数据。 首先,将List转换为Stream对象,然后使用filter方法来过滤出满足条件的数据,最后使用collect方法来将满足条件的数据收集到一个新的List。 下面是一个例子: ```java import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 4, 3, 2, 1); List<Integer> result = numbers.stream() .filter(num -> num == 3) // 过滤出等于3的数字 .collect(Collectors.toList()); System.out.println(result); // 输出:[3, 3] } } ``` 在这个例子,我们有一个包含了多个整数的List。通过将这个List转换为Stream对象,然后使用filter方法来过滤出等于3的数字。最后,我们使用collect方法将满足条件的数字收集到一个新的List。输出结果为[3, 3],即等于3的数字。 ### 回答3: 在Java 8,我们可以使用Stream API来从List获取等于某个数据。 首先,我们需要将List转换为流,通过调用List的stream()方法来实现。然后,我们可以使用filter()方法来筛选出我们所需的数据,传入一个Lambda表达式来指定筛选条件。 例如,假设我们有一个名为listList<Integer>,我们想要获取所有等于5的元素,可以使用以下代码: List<Integer> filteredList = list.stream() .filter(num -> num == 5) .collect(Collectors.toList()); 在上述代码,filter()方法的参数是一个Lambda表达式,其num代表List的每个元素。该表达式返回一个Boolean,用于判断元素是否等于5。最后,我们使用collect()方法将过滤后的结果收集到一个新的List。 注意,上述代码的Collectors.toList()方法用于将结果收集到一个新的List。如果我们只想获取一个元素,可以使用findAny()方法或findFirst()方法,返回一个Optional对象。 总结起来,使用Java 8的Stream API,我们可以轻松地从List获取等于某个数据。该方法具有简洁、灵活和高效的特点,可以极大地简化我们的代码编写过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值