`
wandejun1012
  • 浏览: 2720424 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何复制一个LIST

    博客分类:
  • java
 
阅读更多

法一:

java.util.Collections.copy(List<? super T> dest, List<? extends T> src) 

 

 

法二:

list.addAll(otherList);

 

 

法三:

import java.util.*;

public class main {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<String>();
    	list.add("a");
	list.add("b");
	// 用原有集合创建新集合
	LinkedList<String> listCopy = new LinkedList<String>(list);
	for(String s:listCopy){
		System.out.println(s);
	}
    }
}
 
分享到:
评论
2 楼 winnie825 2012-06-01  
上面的几种复制方式不能够真正复制集合中的元素,也就是说集合中的元素扔指向原来的内存地址。
如果原来的元素发生变动,新集合中的元素也会发生变动。
1 楼 Shabrave 2012-04-26  
有没有想过,因为String是特殊类,他的改变,不会改变它的值,而是重新定义一块内存。如果你用其他类去测试你的两个list(list和listCopy),发现它两依然是一样的指向,改变任何一个,另一个都会发生改变,而真正的复制,是修改其中一个list,而另一个listCopy是不会被修改的,lz需要考虑清楚哦!!

相关推荐

    java List 深度复制方法

    当我们需要复制一个List时,可能会遇到浅复制和深复制的概念。浅复制只复制对象本身,而不复制它引用的对象,而深复制则会递归复制所有引用的对象。这篇博客将探讨如何在Java中对List进行深度复制。 首先,我们来...

    list to list 将list内容移到另一个list

    `list to list` 操作通常指的是将一个列表(list)的内容移动到另一个列表中,这可能涉及到列表的复制、合并或者元素的迁移。下面我们将深入探讨这个主题,同时也会关注到`listtolist.js`这个文件,它可能是...

    使用python生成杨辉三角形的示例代码

    杨辉三角杨辉 定义如下: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \ ... M=L[:]#复制一个list,这样才不会影响到原有的list。不然results里的每

    浅谈C#中ListT对象的深度拷贝问题

    一、List对象中的T是值类型的情况(int 类型等)...1、对于引用类型的List无法用以上方法进行复制,只会复制List中对象的引用,可以用以下扩展方法复制: static class Extensions { public static IList&lt;T&gt; Clone(t

    List转换为List

    4. **将Map添加到新的List中**:每当创建完一个Map后,将其添加到一个新的List集合中。 5. **返回新的List**:最终返回包含Map对象的List集合。 #### 示例代码: 假设有一个AnnouncementBean类,包含属性:actid...

    对Python 数组的切片操作详解

    L[:] 原样复制一个list tuple,字符串也可以进行切片操作 以上这篇对Python 数组的切片操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣

    java8 stream 由一个list转化成另一个list案例

    Java8 Stream 由一个 List 转化成另一个 List 案例 Java8 Stream 是一个功能强大的工具,可以将一个 List 转化成另一个 List,今天我们就来探讨这个话题。 什么是 Java8 Stream Java8 Stream 是 Java 语言的一个...

    Scala的List类方法整合

    此方法用于向列表的末尾添加一个元素,并返回一个新的列表。 **示例代码:** ```scala val list = List(1, 2, 3) val newList = list + 4 // 结果为 List(1, 2, 3, 4) ``` #### 2. `def :: (x: A): List[A]` 该方法...

    基于java8新特性+反射机制实现list不同实体类互转.zip

    这个压缩包文件“基于java8新特性+反射机制实现list不同实体类互转.zip”提供了一种解决方案,它利用了Java 8的新特性和反射机制来实现这种转换,并将这个功能封装为一个工具类。 首先,Java 8引入了许多新特性,...

    STL中list的使用

    4. **复制list**:`list&lt;int&gt; c4(c2);` 创建一个`list`,它是`c2`的副本。 5. **区间初始化list**:`list&lt;int&gt; c5(c1.begin(), c1.end());` 使用`c1`中的元素初始化`c5`。 ### 插入和删除 1. **assign方法**:可以...

    c#list添加数据

    这段代码创建了一个新的`QKDJXT.Model.qkmxEnglish`对象,并设置了它的属性,然后使用`Add()`方法将其添加到`qkmxList`中。这展示了在`List&lt;T&gt;`中添加元素的基本方式。 总结一下,C#中向`List&lt;T&gt;`添加数据的主要...

    List Clone.zip_c list深度复制_list clone_list的深度复制 C#

    List的深度复制 浅谈C#中List&lt;T&gt;对象的深度拷贝问题

    List转换成String数组

    本文将详细介绍如何将一个`List&lt;String&gt;`类型的集合转换为`String[]`数组,并通过不同的方法来实现这一过程。这不仅有助于提高代码的可读性和效率,还能帮助开发者更好地理解和运用Java集合框架。 #### 一、背景...

    C#多线程List的非线程安全性

    4. 使用CopyTo()方法:如果只需要读取List,可以先将List复制到一个新的数组,然后在多线程环境中操作这个数组,避免直接操作List。 5. 使用线程池:对于大量并发的短任务,使用ThreadPool可以有效减少线程创建和...

    java list map基础代码,经常需要eclipse开发复制的需要

    例如,在构建用户界面时,可能需要展示一组项目,每个项目包含进度、参与者等信息,这时就可以用一个`List`来存储多个`Map`对象,每个`Map`代表一个项目及其相关信息。 #### 总结 通过以上分析,我们可以看出`List...

    java不同对象及集合的多次复制

    - **浅拷贝**:创建一个新的对象,只复制对象的引用,不复制内部引用的对象。这意味着改变其中一个对象的内部引用对象,会影响另一个对象。 - **深拷贝**:创建一个全新的对象,不仅复制对象本身,还递归复制其...

    android 浅复制和深复制-Java Generic Deep Copy 篇

    在Android开发中,数据对象的复制是一个常见的需求,特别是在处理数据持久化、界面状态恢复或者组件间通信时。本文将深入探讨Java中的浅复制和深复制,并以Android为背景,结合具体的实例讲解如何实现Java泛型深拷贝...

    list_list_STL_C++_

    - **构造与初始化**:`list()`无参构造函数创建一个空链表,`list(size_t n)`创建包含n个默认元素的链表,`list(Container& c)`从另一个容器复制元素。 - **插入与删除**:`push_back()`和`push_front()`分别在链表...

    C++ 自实现的List

    List的赋值操作涉及到深拷贝,即创建一个新的List,复制源List的所有节点及其数据。这需要实现一个复制构造函数和赋值运算符。 ```cpp List(const List& other) { // 深拷贝所有节点 ListNode* src = other.head;...

    LinearList.zip

    //移动current至表中的下一个元素,如果操作失败则引发一个异常 void Previous(void);//移动current至表中的前一个元素,如果操作失败则引发一个异常 private: int length;//线性表长度 int MaxSize;//线性表...

Global site tag (gtag.js) - Google Analytics