java集合拷贝工具类
时间: 2023-10-30 15:26:46 浏览: 71
Java提供了许多集合类,每个类都有自己的拷贝方法。如果你想要一个通用的集合拷贝工具类,你可以自己编写一个或者使用Apache Commons Collections库中的CollectionUtils类。
下面是一个示例的集合拷贝工具类,它基于Java的原生集合类实现:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CollectionCopyUtils {
public static <T> List<T> copyList(List<T> sourceList) {
if (sourceList == null) {
return null;
}
List<T> copyList = new ArrayList<>(sourceList.size());
for (T item : sourceList) {
copyList.add(item);
}
return copyList;
}
public static <K, V> Map<K, V> copyMap(Map<K, V> sourceMap) {
if (sourceMap == null) {
return null;
}
Map<K, V> copyMap = new HashMap<>(sourceMap.size());
for (Map.Entry<K, V> entry : sourceMap.entrySet()) {
copyMap.put(entry.getKey(), entry.getValue());
}
return copyMap;
}
}
```
使用示例:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 测试List拷贝
List<String> sourceList = new ArrayList<>();
sourceList.add("A");
sourceList.add("B");
sourceList.add("C");
List<String> copiedList = CollectionCopyUtils.copyList(sourceList);
System.out.println("Copied List: " + copiedList);
// 测试Map拷贝
Map<Integer, String> sourceMap = new HashMap<>();
sourceMap.put(1, "One");
sourceMap.put(2, "Two");
sourceMap.put(3, "Three");
Map<Integer, String> copiedMap = CollectionCopyUtils.copyMap(sourceMap);
System.out.println("Copied Map: " + copiedMap);
}
}
```
这个示例工具类提供了copyList和copyMap方法,分别用于拷贝List和Map集合。你可以根据自己的需要进行相应的修改和扩展。希望能对你有所帮助!