关于Java Collection Framework,你可能已经知道如下一些事实
- Vector是线程安全的,ArrayList不是
- ArrayList的读操作比LinkedList快,LinkedList的append操作比ArrayList快
- Set中不可能有两个相等的元素,也就是说,如果e1和e2都在同一个Set中,那么不可能有e1.equals(e2)
- HashMap是线程不安全的,HashTable是线程安全的
但是你可能还不知道或者不了解这些事情:
- LinkedList不是线程安全的
- 不管是在多线程还是单线程的环境下,ArrayList都要比Vector快很多倍
- Set中可以插入null,不过最多只会有一个
- HashMap中可以插入null,HashTable中不行
- TreeSet使用compareTo代替equals判断是否两个元素相等
- HashMap中的元素,无论是keySet还是valueSet,都不一定是按照插入时间先后排序的,HashSet也一样
- 对于非线程安全的类,比如HashMap,ArrayList,TreeSet,可以使用Collections.synchronizedXXX方法(比如synchronizedSet,synchronizedList,synchronizedMap)
- 你可以使用Collections.unmodifiableList来构建出一个不能被修改的List
- 你可以使用Arrays.equals来判断两个数组是否相等
- WeakHashMap使用元素的引用而不是值作为key,也就是说必须在引用相同(a==b)的情况下才能找到相关的值
- 对于WeakHashMap,一旦引用失效,相应的值也就不存在了,比如下面一段代码中:
view plain
copy to clipboard
print
?
-
public
class
TestHashMap {
-
-
public
static
WeakHashMap wHmp=
new
WeakHashMap();
-
-
public
static
void
main(String args[]){
-
String s1 =
new
String(
"one"
);
-
wHmp.put(s1,
new
Integer(
1
));
-
addObject(wHmp);
-
Set setHmp= wHmp.keySet();
-
-
for
(Iterator it=setHmp.iterator();it.hasNext();){
-
System.out.println(wHmp.get(it.next()));
-
}
-
-
}
-
-
public
static
void
addObject(WeakHashMap wHmp){
-
-
String s2 =
new
String(
"two"
);
-
String s3 =
new
String(
"three"
);
-
wHmp.put(s2,
new
Integer(
2
));
-
wHmp.put(s3,
new
Integer(
3
));
-
s2=
null
;
-
s3=
null
;
-
System.gc();
-
}
-
}
最后打印出来的结果只有"one”
原文:http://dev.firnow.com/course/3_program/java/javajs/20090425/165344.html
分享到:
相关推荐
以下是一些关键的Java知识点,这些内容通常会包含在这个知识框架中: 1. **Java简介**:Java是由Sun Microsystems(现为Oracle Corporation)开发的面向对象的编程语言,以其“一次编写,到处运行”的特性而闻名。...
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
### Java容器框架 Collection集合 #### 一、基本概念 Java容器类库主要目的是为了存储对象,根据不同的数据结构,可以将其划分为两个主要的概念:**Collection** 和 **Map**。 - **Collection**:这是一个单一...
### Java Collection Framework 相关知识点 #### 一、引言 在 Java 领域,《Java Collection Framework》这本书被广泛认为是一本优秀的教程,尤其适合初学者了解集合框架的前世今生。通过本书的学习,读者不仅能...
以下是关于Java的一些核心知识点: 1. **面向对象特性**: - 封装:将数据和操作数据的方法绑定在一起,形成一个独立的实体,减少外部对内部状态的直接访问。 - 继承:子类继承父类的属性和方法,实现代码复用,...
总之,Java集合框架是Java程序员必备的知识,熟练掌握它可以极大地提高代码质量、可读性和运行效率。在实际开发中,根据需求选择合适的集合类型和操作方式,对于构建高效、可靠的软件系统至关重要。
本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java 5引入的泛型特性。 首先,让我们了解一下`java.lang.Class`。`Class`类在Java中扮演着特殊的角色,它不仅是一个普通类,而且是用于获取...
Java集合框架是Java编程语言中一个非常核心的部分,它提供了数据结构和算法的实现,使得开发者可以方便地存储和管理...同时,也要关注Java集合框架的其他类,如TreeMap、Vector和Deque等,这些都会丰富你的编程工具箱。
根据提供的文档内容,文件是关于Java集合框架的面试题知识点总结。以下是Java集合框架的知识点详述: Java集合框架主要包括Collection接口和Map接口两大分支。Collection接口主要包括List、Set以及Queue三个子接口...
在Java的Collection框架中,集合类被划分为两大类:线程安全集合类与非线程安全集合类。早期版本的集合类(如`Vector`和`Hashtable`)通过`synchronized`关键字实现线程安全,但在单线程环境下这种同步机制会显著...
Java 面试题是 Java 开发人员面试的必备知识,涵盖了 Java 基础知识、Java 框架、Java 集合框架、Java 多线程、Java 网络编程等方面的知识点。在本文中,我们将对 Java 面试题进行总结和分析,帮助读者快速掌握 Java...
Java知识图谱是Java开发人员深入理解和提升技能的重要资源,涵盖了广泛的Java技术领域。这个压缩包"java知识图谱.rar"包含了一系列与Java相关的主题,旨在帮助开发者构建一个全面的Java知识体系。以下是对其中各个...
《JAVA COLLECTION》是一本专注于Java集合框架的书籍,由APress出版社出版。这本书深入浅出地探讨了Java API中的各种数据结构,是学习和理解Java集合框架的理想资源。作者通过简洁明了的语言,使得初学者也能轻松...
根据提供的信息,我们可以总结并详细解释关于Java集合框架的一些关键知识点。这些知识点主要涉及Java集合框架中的各种数据结构,如List、Set、Map等,并深入探讨了它们在实际应用中的特性与用途。 ### Java集合框架...
本节课程主要讲解了 Java 中的 Collection 框架和泛型,涵盖了 Collection 的基本概念、Collection 框架的继承结构、Collection 的常用功能、迭代器的使用和泛型的定义等知识点。 Collection 框架是 Java 中提供的...
本资源摘要信息中,我们将详细介绍 Java 相关技术框架的各种知识点,涵盖了 Java 语言基础、Java 虚拟机(JVM)、Java 集合框架、Java 并发编程、Java 网络编程、数据存储技术等方面的知识。 Java 语言基础 * Java...
以上只是Java集合框架中Collection接口及其相关子接口和实现类的基础知识。在实际开发中,我们需要根据具体需求选择合适的集合类型,合理利用其特性,优化代码性能。通过实例练习,可以更好地理解和掌握这些概念。...
在“Java collection_java_控制服务器_服务器_”这个主题中,我们将深入探讨Java集合框架以及如何利用它们来构建服务器控制程序。 首先,Java集合框架包括接口(如List、Set、Queue)和实现这些接口的具体类(如...