小编Atu*_*tum的帖子

Java 8流api如何收集List to Object

我有两个简单的类ImageEntity和ImageList

如何将结果列表ImageEntity收集到ImageList?

List<File> files = listFiles();
        ImageList imageList = files.stream().map(file -> {
            return new ImageEntity(
                                   file.getName(), 
                                   file.lastModified(), 
                                   rootWebPath + "/" + file.getName());
        }).collect(toCollection(???));
Run Code Online (Sandbox Code Playgroud)

public class ImageEntity {
private String name;
private Long lastModified;
private String url;
 ...
}
Run Code Online (Sandbox Code Playgroud)

public class ImageList {
 private List<ImageEntity> list;

 public ImageList() {
    list = new ArrayList<>();
 }

 public ImageList(List<ImageEntity> list) {
    this.list = list;
 }
 public boolean add(ImageEntity entity) {
    return list.add(entity);
 }
 public void addAll(List<ImageEntity> list) {
     list.addAll(entity);
 }

}
Run Code Online (Sandbox Code Playgroud)

这不是一个优雅的解决方案 …

lambda collect java-8 java-stream collectors

3
推荐指数
1
解决办法
1万
查看次数

Collections.shuffle(一)魔术?


System.out.println("*****")之后的魔术; Collections.shuffle(一);

〜$ java -version java version"1.8.0_101"Java(TM)SE运行时环境(版本1.8.0_101-b13)Java HotSpot(TM)64位服务器VM(版本25.101-b13,混合模式)

public static void main(String[] args) {

        List<Integer> a = Arrays.asList(1,  3,  5, 9, 14);
        Collections.shuffle(a);

        System.out.println(a);

        List<Integer> b = a.subList(0, a.size() - 1);
        List<Integer> b1 = new ArrayList<>(a.subList(0, a.size() - 1));
        System.out.println(b);
        System.out.println(b1);

        System.out.println("*****");
        Collections.shuffle(a);
        System.out.println(a);

        Collections.shuffle(b);
        System.out.println(b);

        Collections.shuffle(b1);
        System.out.println(b1);
}

[14, 1, 9, 3, 5]
[14, 1, 9, 3]
[14, 1, 9, 3]
*****
[14, 9, 3, 5, 1]
[3, 14, 9, 5]
[1, 14, 9, 3]
Run Code Online (Sandbox Code Playgroud)

b shuffle(a)a.subList(0,a.size() - 1)之后的eq …

java java-8

-4
推荐指数
1
解决办法
100
查看次数

标签 统计

java-8 ×2

collect ×1

collectors ×1

java ×1

java-stream ×1

lambda ×1