- 浏览: 352454 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
pacoson:
感谢楼主。请受小生一拜。
ANT预编译JSP -
zhuhongming123:
一楼的同学Lucene4.* 以上的 已经改成了Numeric ...
Lucene日期排序及组合查询 -
ywjk520:
RangeQuery在哪个包里?
Lucene日期排序及组合查询 -
willwen:
有个疑问,楼主,为何初始化bits 从txt读取已有的网址是直 ...
布隆过滤器(Bloom Filter)之java实例 -
yu_226528:
还不如没有呢
jFreeChart 在jsp页上实现简单的折线图、柱状图
java.util就相当于c++的STL,是Java的一个非常重要的包,有很多常用的数据类型,不同数据类型有不同的用途,而有些数据类似乎很相似,怎样选择应用,就需要对它们进行辨析。
下面列出了这些数据类型的特点,根据这些特点,就可以有针对性的选用
* 蓝色为接口,绿色为具体实现类
* 缩进的层次结构,就是implement或extend的层次关系
* 每个接口或类都具备其所有上层接口、类的特性
Collection
........|--------List
........|..........|----------ArrayList
........|..........|----------Vector
........|..........|.............|-----Stack
........|..........|----------LinkedList
........|--------Set
...................|----------HashSet.
...................|.............|-----LinkedHashSet
...................|----------SortedSet
.................................|-----TreeSet
Iterator
.....|-------ListIterator
Map
.....|------Hashtable
.....|..........|------Properties
.....|------HashMap
.....|..........|------LinkedHashMap
.....|------WeakHashMap
.....|------SortedMap
................|------TreeMap
Collection.
●..实现该接口及其子接口的所有类都可应用clone()方法,并是序列化类.
.....List.
.....●..可随机访问包含的元素
.....●..元素是有序的
.....●..可在任意位置增、删元素
.....●..不管访问多少次,元素位置不变
.....●..允许重复元素
.....●..用Iterator实现单向遍历,也可用ListIterator实现双向遍历
..........ArrayList
..........●..用数组作为根本的数据结构来实现List
..........●..元素顺序存储
..........●..新增元素改变List大小时,内部会新建一个数组,在将添加元素前将所有数据拷贝到新数组中
..........●..随机访问很快,删除非头尾元素慢,新增元素慢而且费资源
..........●..较适用于无频繁增删的情况
..........●..比数组效率低,如果不是需要可变数组,可考虑使用数组
..........●..非线程安全
.
..........Vector.
..........●..另一种ArrayList,具备ArrayList的特性
..........●..所有方法都是线程安全的(双刃剑,和ArrayList的主要区别)
..........●..比ArrayList效率低
...............Stack
...............●..LIFO的数据结构
..........LinkedList.
..........●..链接对象数据结构(类似链表)
..........●..随机访问很慢,增删操作很快,不耗费多余资源
..........●..非线程安全
.....Set.
.....●..不允许重复元素,可以有一个空元素
.....●..不可随机访问包含的元素
.....●..只能用Iterator实现单向遍历
..........HashSet
..........●..用HashMap作为根本数据结构来实现Set
..........●..元素是无序的
..........●..迭代访问元素的顺序和加入的顺序不同
..........●..多次迭代访问,元素的顺序可能不同
..........●..非线程安全
...............LinkedHashSet
...............●..基于HashMap和链表的Set实现
...............●..迭代访问元素的顺序和加入的顺序相同
...............●..多次迭代访问,元素的顺序不便
...............●..因此可说这是一种有序的数据结构
...............●..性能比HashSet差
...............●..非线程安全
..........SortedSet
..........●..加入SortedSet的所有元素必须实现Comparable接口
..........●..元素是有序的
...............TreeSet.
...............●..基于TreeMap实现的SortedSet
...............●..排序后按升序排列元素
...............●..非线程安全
-----------------------------------
Iterator..
●..对Set、List进行单向遍历的迭代器
..........ListIterator.
..........●..对List进行双向遍历的迭代器
-----------------------------------
Map
●..键值对,键和值一一对应
●..不允许重复的键.
.....Hashtable.
.....●..用作键的对象必须实现了hashcode()、equals()方法,也就是说只有Object及其子类可用作键
.....●..键、值都不能是空对象
.....●..多次访问,映射元素的顺序相同
.....●..线程安全的
..........Properties
..........●..键和值都是字符串
.....HashMap
.....●..键和值都可以是空对象
.....●..不保证映射的顺序
.....●..多次访问,映射元素的顺序可能不同
.....●..非线程安全
...............LinkedHashMap
...............●..多次访问,映射元素的顺序是相同的
...............●..性能比HashMap差
.....WeakHashMap..
.....●..当某个键不再正常使用时,垃圾收集器会移除它,即便有映射关系存在
.....●..非线程安全
.....SortedMap.
.....●..键按升序排列
.....●..所有键都必须实现.Comparable.接口.
...............TreeMap.
...............●..基于红黑树的SortedMap实现
...............●..非线程安全
发表评论
-
java用绑定变量调用Oracle
2011-03-11 16:59 1094在JAVA中的SQL 语句的编 ... -
java 实现压缩与解压缩ZIP
2010-08-18 10:17 860压缩的 import java.io.BufferedIn ... -
Java中对TreeMap中文排序
2010-08-17 18:20 1898package org.hsyd.test; ... -
java 卸载动态链接库
2010-06-21 11:53 1929import java.lang.reflect.Field; ... -
java数据库连接池实现
2010-02-05 11:21 781.package cc.vicp.eden.plug; ... -
Java NIO原理和使用
2010-01-16 14:29 1683Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知 ... -
java排序全实现
2009-12-17 11:40 9621. package sort; 2. ... -
Java对各种文件的操作
2009-12-12 22:23 1025java中提供了io类库,可以轻松的用java实现对文件的各种 ... -
直接由Java获取文件的创建时间
2009-11-11 11:22 3051import java.io.*; public cla ... -
非常实用的myeclipse快捷键
2009-08-13 22:24 1233技巧:取消自动validation validation有一堆 ... -
计算工作日和自然日
2009-06-24 19:21 3344用Java写一个倒计时程序,比如输入一个日期,格式为20090 ... -
文件排序后进行文本复制
2009-06-24 18:48 1006现将TEXT1.TXT中的文本内容 复制到TEXT2.TXT中 ... -
getResourceAsStream的用法
2009-06-24 18:28 2607getResourceAsStream 用法大致有以下几种: ... -
将一首古诗竖着排序从右往左读
2009-06-24 17:36 3156import java.util.ArrayList; ... -
计算两个日期之间相差的天数
2009-06-24 16:47 2031程序经过一系列处理,得到两个string类型的时间值,一个值的 ... -
如何得到一年的所有星期二的日期?
2009-06-24 16:42 1454import java.text.DateFormat; ... -
根据格式日期转换
2009-06-24 16:39 918根据一个TimeZone的时间,比如一个“Africa/Acc ... -
当输入一个年月份的时候,输出这个月份的最后一天,比如输入: 2006年5月 就输出5月份的最后一个日
2009-06-24 16:00 1181import java.text.ParseException ... -
读取一个文本文档,例如有1~10行,要求按10~1行的顺序输出.并保存予原文件.
2009-06-24 15:49 1364import java.io.File; import ... -
编写一个辅助小学生学习乘法的程序
2009-06-22 16:39 1635编写一个辅助小学生学习乘法的程序。使用一个Random对象产生 ...
相关推荐
java.util.Date和java.sql.Date是Java中两个常用的日期时间类,分别属于不同的包。java.util.Date是Java标准库中的日期时间类,而java.sql.Date是Java数据库连接(JDBC)中的日期时间类。两者之间可以进行互转,但...
Java.util包是Java标准库中的核心包之一,包含了许多用于处理集合、数组、日期时间、随机数等的类。在本文件中,我们主要关注Java.util.ArrayList类,这是一个常用的动态数组实现,它提供了灵活的大小调整和高效的...
ThreadPoolExecutor是常用的实现,可以配置线程池的大小、队列类型等参数。 2. **Future和Callable**:Future接口代表异步计算的结果,可以检查计算是否完成,获取结果或取消计算。Callable接口类似于Runnable,但...
`java.util`包中的数据结构主要包括集合框架(Collection Framework),这是Java中最常用的数据管理工具之一。集合框架为开发者提供了多种类型的容器来存储对象,每种容器都有其特定的功能和用途。 ##### 1. ...
在Java编程中,`java.util`包提供了许多用于处理数据集合的基础类。这些类帮助开发者高效地管理数据,支持各种操作,如增删查改等。本篇文章将深入探讨`java.util`包中的主要组件及其用法,并通过实际例子加深理解。...
Java.util包是Java编程语言中的核心包之一,它包含了大量用于日常编程的类和接口,是Java程序员必备的知识点。本教程重点讲解了Java.util包中的主要组件和使用方法,旨在帮助初学者深入理解并熟练运用这个包。 1. *...
6. **`java.util.HashMap`** 和 **`java.util.Map`** 接口: 存储键值对的数据结构。`HashMap`是最常用的实现,而`Map`定义了接口。 7. **`java.util.HashSet`** 和 **`java.util.Set`** 接口: 不含重复元素的集合。...
1. 打印不同数据类型的对象,包括基本类型、字符串、数组等。 2. 可能有格式化输出的功能,比如设置对齐、精度等。 3. 可能支持色彩输出,以增强控制台显示效果。 4. 可能具有异常处理,确保在打印过程中不会因异常...
Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...
这里列出的100个最常用的Java类涵盖了基础类型、集合框架、I/O流、日志、测试、反射以及Android开发等多个方面。以下是对这些类的详细说明: 1. `java.util.ArrayList`:ArrayList是Java集合框架中的一种动态数组,...
`java.lang.String`是不可变的字符序列,是Java中最常用的数据类型之一。字符串操作如连接、查找、替换等都可以通过String类的方法完成。`StringBuilder`和`StringBuffer`在需要频繁修改字符串内容时更为高效,因为...
用于从标准输入(如键盘)读取用户输入的数据,支持多种数据类型。 8. **`java.util.concurrent` 包**: 提供了线程安全的数据结构和并发工具,如`ExecutorService`、`Semaphore`、`CountDownLatch`等,帮助...
21. **java.io.DataInputStream**和**java.io.DataOutputStream**:用于读写基本数据类型的流。 22. **java.io.BufferedInputStream**和**java.io.BufferedOutputStream**:对字节流进行缓冲,提高性能。 23. **...
`java.lang`包是每个Java程序的基础,包含了基本数据类型、异常处理和一些系统级服务。`java.util`提供了集合框架、数据结构、日期时间、随机数生成等工具类。`java.io`则用于处理输入输出操作,支持文件读写、流...
19. **`java.util.Scanner`**:从标准输入、文件或其他输入流读取简单类型的数据。 20. **`java.util.regex`** 包:正则表达式处理,用于字符串的匹配和替换。 21. **`java.util.Comparator`**:用于自定义排序...
java.lang 包是Java语言的核心类库,包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程管理和异常处理类等。系统缺省加载这个包,既这个包的加载是默认的。 java.lang 包中的类...
5. **`java.util.HashMap` 和 `java.util.TreeMap`**:这两个类都是Map接口的实现,分别基于哈希表和红黑树数据结构。`HashMap`提供了快速的插入、删除和查找操作,而`TreeMap`则保持了元素的排序。 6. **`java....
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
Java常用工具包Jodd是一个强大的开源库,专为Java开发者设计,提供了许多实用的功能和类,以简化开发过程。这个工具包涵盖了多个领域,包括HTTP客户端、数据转换、日期时间处理、字符串操作、I/O流、线程管理、对象...
本篇将详细介绍Java开发中的常用工具类,涵盖以下几个方面: 1. **集合操作:** `java.util.Collections` 类提供了对集合对象进行各种操作的静态方法,如排序、填充、反转等。例如,`Collections.sort()` 可以对...