Gar*_*all 7 java collections guava
我想使用Guava将函数应用于集合,映射等.
基本上,我需要Table单独调整行和列的大小,以便所有行和列具有相同的大小,执行如下操作:
    Table<Integer, Integer, Cell> table = HashBasedTable.create();
    Maps.transformValues(table.columnMap(), new ResizeFunction(BlockDimension.WIDTH));
    Maps.transformValues(table.rowMap(), new ResizeFunction(BlockDimension.HEIGHT));
public interface Cell {
    int getSize(BlockDimension dimension);
    void setSize(BlockDimension dimension);
}
我已经知道ResizeFunction应该是什么了.但是,我需要应用它,而不仅仅是返回一个Collection.
Sea*_*oyd 13
在Guava中,您不会转换现有列表,而是使用Iterables.transform创建一个新列表:
final List<String> list = Arrays.asList("race", "box");
final List<String> transformed =
    Lists.newArrayList(Iterables.transform(list, new Function<String, String>() {
        @Override
        public String apply(final String input) {
            return new StringBuilder().append(input).append("car").toString();
        }
    }));
System.out.println(transformed);
输出:
[赛车,棚车]
或者,如果您不需要a List和a Collection,则可以使用转换后的实时视图:
final Collection<String> transformed =
    Collections2.transform(list, new Function<String, String>() {
        @Override
        public String apply(final String input) {
            return new StringBuilder().append(input).append("car").toString();
        }
    });
这Collection是底层视图的实时视图,因此更改list将反映在此中Collection.
| 归档时间: | 
 | 
| 查看次数: | 11218 次 | 
| 最近记录: |