我有两个简单的类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)
这不是一个优雅的解决方案 …
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 …