我是靠谱客的博主 阳光可乐,最近开发中收集的这篇文章主要介绍java 取list前十对象_Java 通过stream()获取找到List(列表)中最小的对象元素,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

class Foo {

private int variableCount;

public Foo(int vars) {

this.variableCount = vars;

}

public Integer getVariableCount() {

return variableCount;

}

}

1、实现accumulator object用于给Collector提供函数/**

* Accumulator object to hold the current min

* and the list of Foos that are the min.

*/

class Accumulator {

Integer min;

List foos;

Accumulator() {

min = Integer.MAX_VALUE;

foos = new ArrayList<>();

}

void accumulate(Foo f) {

if (f.getVariableCount() != null) {

if (f.getVariableCount() < min) {

min = f.getVariableCount();

foos.clear();

foos.add(f);

} else if (f.getVariableCount() == min) {

foos.add(f);

}

}

}

Accumulator combine(Accumulator other) {

if (min < other.min) {

return this;

}

else if (min > other.min) {

return other;

}

else {

foos.addAll(other.foos);

return this;

}

}

List getFoos() { return foos; }

}

2、调用方法和测试

1)示例ListList foos = Arrays.asList(new Foo(3), new Foo(3), new Foo(2), new Foo(1), new Foo(1), new Foo(4));

2)调用方法List mins = foos.stream().collect(Collector.of(

Accumulator::new,

Accumulator::accumulate,

Accumulator::combine,

Accumulator::getFoos

)

);

输出结果:

[Foo{1}, Foo{1}]

最后

以上就是阳光可乐为你收集整理的java 取list前十对象_Java 通过stream()获取找到List(列表)中最小的对象元素的全部内容,希望文章能够帮你解决java 取list前十对象_Java 通过stream()获取找到List(列表)中最小的对象元素所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部