Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。
对于集合的操作推荐使用Guava,它提供了很多许多集合的高级功能操作。在此插一句JavaBean 构造get()、set()、toString() 等一些方法时,也建议在ide中添加Guava插件,使用Guava生成。
需要的jar包:guava
直接code展示一下Guava的集合操作,看能否满足您的需求 public class CollectionsTemplate { private static final Log LOG = LogFactory.getLog(CollectionsTemplate.class); public static void main(String[] args) { //不要使用new List<Map<String, Demo>> list = Lists.newArrayList(); LOG.info(list); //函数编程中的map操作,不要使用循环 List<Long> idList = Lists.newArrayList(); idList.add(1L); idList.add(2L); List<String> stringList = Lists.transform(idList, new Function<Long, String>() { @Override public String apply(Long value) { return String.valueOf(value); } }); LOG.info(stringList); //List去重 idList.add(3L); idList.add(2L); idList.add(4L); idList = ImmutableSet.copyOf(idList).asList(); LOG.info(idList); //List转换成Map List<Demo> demoList = Lists.newArrayList(); Demo demo = new Demo(); demo.setUserID(1); demo.setName("令狐冲"); demoList.add(demo); Map<Integer,Demo> map = Maps.uniqueIndex(demoList, new Function<Demo, Integer>() { @Override public Integer apply(Demo demo) { return demo.getUserID(); } }); LOG.info(map); //排序 demo = new Demo(); demo.setUserID(2); demo.setName("少林"); demoList.add(demo); Ordering<Demo> byIDOrdering = new Ordering<Demo>() { @Override public int compare(Demo d1, Demo d2) { return d2.getUserID().compareTo(d1.getUserID()); } }; Collections.sort(demoList,byIDOrdering); LOG.info(demoList); } }