定義範型工具
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