`
xi5566
  • 浏览: 151714 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA LIST MAP 是引用地址而不是复制

阅读更多
StringBuffer aa=new StringBuffer("32");
		HashMap map=new HashMap();
		map.put("aa", aa);
		List list=new ArrayList();
		list.add(aa);
		System.out.println(map.get("aa")+"----->"+list.get(0));
		aa.append("as");
		System.out.println(map.get("aa")+"----->"+list.get(0));
		conn.close();

 原先1直没注意 现在要求写点性能

分享到:
评论
2 楼 毛冬 2010-01-14  
呵呵。就是說LIST是對象引用,而不是值引用
1 楼 黑色联想 2009-09-10  
貌似代码不完全,而且标题也不完全,嘛意思?

相关推荐

    java不同对象之间及集合的复制

    在Java中,通过使用特定的注解处理器库(如MapStruct、Dozer等),可以声明式地定义对象间的映射关系,自动处理复制过程。这样不仅可以节省编码时间,还能减少错误。 4. **集合复制**: 当需要复制一个集合到另一个...

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

    - **使用流(Stream)API**:Java 8引入的流API可以方便地实现集合到集合的复制,如`sourceList.stream().collect(Collectors.toList())`,但这仍然是浅拷贝。 - **使用`clone()`或`copy()`方法**:如果集合中的...

    java深复制浅复制的实现源代码

    1. **浅复制(Shallow Copy)**:浅复制只是复制了对象的引用,而不是对象本身。这意味着,如果原始对象的内部属性是引用类型,那么副本对象和原始对象会共享这些引用。因此,修改一个对象的内部引用属性会影响到另...

    Java-List的使用.docx

    在这种情况下,`B`成为了`A`的一个引用,而不是复制了`A`的值。这意味着对`B`的任何操作都会直接影响到`A`。例如,`B.add("3")`后,`A`也会包含"3"。 2. **构造函数赋值**: ```java ArrayList<String> B = new ...

    java Collection&Map

    Java集合框架是Java编程语言中一个非常重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理对象。在这个框架中,Collection和Map接口及其实现类扮演着核心角色。 1. **Collection接口**...

    java8stream对list操作常用总结

    这里,`User::getId` 是方法引用来获取每个用户的 ID,然后 `collect()` 方法将结果收集到一个新的 `List<Long>` 中。 2. 集合复制:复制一个列表到另一个列表,可以使用 `addAll()` 方法。例如: ```java List...

    Java集合框架的内部揭秘:List、Set与Map的深潜之旅

    ### Java集合框架的内部揭秘:List、Set与Map的深潜之旅 #### 一、List:有序序列的深度剖析 **List** 接口在Java集合框架中扮演着至关重要的角色,它是一种允许包含重复元素的有序集合。这种类型的集合非常适合...

    数据复制代码JAVA

    而对于对象,如ArrayList或自定义类实例,赋值会产生一个引用拷贝,即两个变量指向同一个对象,改变其中一个会影响另一个。要进行深度拷贝(即完全复制对象的所有属性),需实现`Cloneable`接口并重写`clone()`方法...

    java对象复制

    首先,Java中的对象复制问题源于其默认的参数传递方式——按引用传递。这意味着当你将一个对象作为参数传递给函数时,实际上是传递了对象的引用,而非对象本身。因此,函数内部对对象的任何修改会影响到原始对象,就...

    2021最新Java面试题及答案V2.0.pdf

    Java中有四种引用类型,分别是强引用、软引用、弱引用和虚引用。强引用是通常的引用,只要强引用还存在,对象就不会被垃圾回收器回收;软引用用于描述一些有用但非必需的对象,只在内存不足时才会被回收;弱引用描述...

    java二开面试笔试题

    2. 静态变量初始化:Java 中的静态变量初始化是在类加载时执行的,而不是在实例化对象时执行的。 六、其他知识点 1. isEmptyString 方法:Java 中的 isEmptyString 方法用于判断字符串是否为空,可以使用 str == ...

    JAVA核心面试知识整理.pdf

    JAVA集合:Java集合框架包括List、Set和Map等接口及其实现类。ArrayList、Vector和LinkedList是List接口的三种主要实现。HashSet、TreeSet和LinkedHashSet是Set接口的实现。HashMap是Map接口的主要实现,从Java 8...

    JAVA核心面试知识整理

    Java集合框架中的接口包括Collection、Set、List、Map等。 3.2 LIST List接口表示一个有序集合,ArrayList和Vector是List接口的典型实现,ArrayList基于数组实现,Vector既基于数组又线程同步。 3.3 SET Set接口...

    JAVA核心知识点.pdf

    程序计数器记录了线程执行的字节码指令地址,当线程执行Java方法时,程序计数器记录的是正在执行的虚拟机字节码指令的地址;虚拟机栈存储局部变量表、操作数栈、动态链接、方法出口等信息,每个方法执行时都会创建一...

    JAVA核心知识点整理.pdf

    JAVA集合主要包括LIST、SET和MAP。LIST主要包含ArrayList、Vector和LinkedList。SET包含HashSet、TreeSet和LinkedHashSet。MAP则包含HashMap和ConcurrentHashMap。 除此之外,多线程也是Java的一个重要知识点。在...

    Java文件大全

    集合框架中的List、Set、Map接口分别代表有序集合、无序集合和键值对映射。具体实现包括ArrayList、Vector、LinkedList、HashSet、TreeSet、LinkedHashSet、HashMap、ConcurrentHashMap等。 通过上述技术点的深入...

    JAVA面试核心知识点整理.pdf

    Java集合框架包括LIST、SET和MAP接口及其各种实现。List接口有ArrayList、Vector和LinkedList实现,其中ArrayList是基于数组实现,Vector支持线程同步,LinkedList是基于链表实现。Set接口有HashSet、TreeSet和...

    JAVA核心知识点整理

    Java集合框架是非常重要的数据结构知识,它包含List、Set、Map等接口。ArrayList基于数组实现,具有快速随机访问的能力;Vector也是基于数组,但提供了线程同步机制;LinkedList基于链表实现,适用于频繁的插入和...

Global site tag (gtag.js) - Google Analytics