JAVA簡單範型

定義範型工具

public class CollectionUtil {

    public static <K, V> List<V> convert(Collection<K> src, Map<K, V> map) {
        if (null == src) {
            return null;
        }
        if (src.isEmpty()) {
            return Collections.emptyList();
        }

        List<V> newList = new ArrayList<>(src.size());
        for (K s : src) {
            if (map.containsKey(s)) {
                newList.add(map.get(s));
            }
        }

        return newList;
    }
}

範型使用

List src = new ArrayList();
        src.add(1);
        src.add(2);
        src.add(3);
        src.add(5);

        Map map = new HashMap();
        map.put(1,"A");
        map.put(4,"B");
        map.put(5,"E");

       List newList = CollectionUtil.convert(src,map);

       for (Object s : newList){
           System.out.printf(s.toString());
       }

結果輸出

AE
相關文章
相關標籤/搜索