有可以copy不同泛型集合的工具类吗
时间: 2024-04-16 16:28:29 浏览: 13
当然,你可以使用Java的泛型来编写一个工具类来复制不同泛型集合。以下是一个示例:
```java
import java.util.ArrayList;
import java.util.List;
public class CollectionUtils {
public static <T> List<T> copyList(List<T> sourceList) {
List<T> targetList = new ArrayList<>();
targetList.addAll(sourceList);
return targetList;
}
}
```
在上面的示例中,我们定义了一个名为`CollectionUtils`的工具类,并在其中声明了一个名为`copyList`的静态方法。该方法接受一个参数`sourceList`,该参数是一个泛型集合。在方法内部,我们创建一个新的目标集合`targetList`,并使用`addAll`方法将源集合中的所有元素复制到目标集合中。最后,我们返回目标集合。
你可以根据需要在工具类中添加其他方法,以适应不同的需求。希望这能帮到你!
相关问题
java集合拷贝工具类
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集合。你可以根据自己的需要进行相应的修改和扩展。希望能对你有所帮助!
C# 将double类型泛型集合转换为字节数组
可以使用以下代码将 `List<double>` 转换为字节数组:
```csharp
List<double> doubles = new List<double> { 1.0, 2.0, 3.0 };
byte[] bytes = new byte[doubles.Count * sizeof(double)];
Buffer.BlockCopy(doubles.ToArray(), 0, bytes, 0, bytes.Length);
```
首先,创建一个 `List<double>` 对象并添加一些元素。接下来,创建一个 `byte` 数组,长度为 `doubles` 集合的元素个数乘以每个 `double` 的字节数。然后,使用 `Buffer.BlockCopy` 方法将 `doubles` 集合转换为字节数组,将结果存储在 `bytes` 数组中。