guava複雜集合的運用

public void testGuava(){

PrepayTradeRecord ptr = new PrepayTradeRecord();

ptr.setPrepayAccId(1L);

PrepayTradeRecord ptr2 = new PrepayTradeRecord();

ptr2.setPrepayAccId(2L);

PrepayTradeRecord ptr3 = new PrepayTradeRecord();

ptr3.setPrepayAccId(3L);


PrepayPayRecord ppr = new PrepayPayRecord();

ppr.setPrepayAccId(2L);

ppr.setPrepayRecordId(2L);

PrepayPayRecord ppr2 = new PrepayPayRecord();

ppr2.setPrepayAccId(1L);

ppr2.setPrepayRecordId(1L);


PrepayPayRecord ppr3 = new PrepayPayRecord();

ppr3.setPrepayAccId(3L);

ppr3.setPrepayRecordId(3L);


List<PrepayTradeRecord> ptrlist = Lists.newArrayList();

List<PrepayPayRecord> pprlist = Lists.newArrayList();

ptrlist.add(ptr);

ptrlist.add(ptr2);

ptrlist.add(ptr3);

pprlist.add(ppr); pprlist.add(ppr2); pprlist.add(ppr3);

List<Long> recordIds = Lists.transform(pprlist,new Function<PrepayPayRecord, Long>() {

@Override

public Long apply(PrepayPayRecord input) {

return input.getPrepayRecordId();

}

});


Map<Long, PrepayPayRecord> map = Maps.uniqueIndex(pprlist, new Function<PrepayPayRecord, Long>() {

@Override

public Long apply(PrepayPayRecord input) {

return input.getPrepayRecordId();

}

});

System.out.println(recordIds);

System.out.println(map);

}



//對List集合進行排序(升序)

Collections.sort(destInventoryDetails, new Comparator<InventoryDetail>() {
           @Override
           public int compare(InventoryDetail o1, InventoryDetail o2) {
               return o1.getBalance().intValue() - o2.getBalance().intValue();
           }
       });


//對TreeMap集合進行排序(升序)

Map<String, List<RequisitionSupplement>> destMap = new TreeMap<>(new Comparator<String>(){

            public int compare(String o1, String o2) {

                //指定排序器按照降序排列

                return o2.compareTo(o1);

            }

        });


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章