开发者社区> 问答> 正文

Java流从集合中获取单个元素

Java流从集合中获取单个元素

我正在使用一种非流方式从集合中获取单个元素。

List list = OtherObject.getMyList();

if (list.size() != 1) { throw new RuntimeException(); }

MyCustomClass customClass = list.get(0);

代替这种多班轮方法,是否有一些方法可以通过流来实现这一目标?


问题来源:stackoverflow

展开
收起
七天一失眠 2020-04-11 15:54:10 2219 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    从list中获取一个用get(index)这个方法,移除的时候用remove(index),不过建议在get之后赋值的时候最好new一个

    2020-04-11 21:56:43
    赞同 展开评论 打赏
  • 做一个优秀的阿里云志愿者

    您可以使用reduce(accumulator)和orElseThrow(exceptionSupplier)确保流产生准确的一个结果。

    MyCustomClass customClass = list.stream() .reduce((a,b) -> { throw new RuntimeException("Too many values present"); }) .orElseThrow(() -> { throw new RuntimeException("No value present"); });


    答案来源:stackoverflow

    2020-04-11 15:54:24
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载