- 浏览: 762460 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (241)
- 个人思考 (1)
- 数据库 (5)
- java基础 (32)
- 软件工程 (2)
- zk开源框架 (15)
- 设计模式 (25)
- javascript (12)
- css (9)
- UML (2)
- CMMI软件需求 (3)
- CMMI软件设计 (2)
- CMMI软件实现 (1)
- CMMI软件测试 (1)
- 正则表达式 (4)
- 系统日志配置 (4)
- 应用服务器 (1)
- spring (7)
- XML (6)
- java web (10)
- Ajax (3)
- RichFaces (14)
- 问题 (1)
- 评论文章 (2)
- fushioncharts (2)
- MAVN (4)
- jquery (26)
- Ext js学习 (2)
- 学习心得 (2)
- CSS兼容问题 (3)
- XSL-FOP (1)
- Quartz (0)
- OSGI (1)
- spring--security (6)
- apache tools (1)
- eclispe 小技巧 (2)
- Ant (1)
- 杂记 (1)
- spring3系列 (5)
- java cache (4)
- EffectiveJava (2)
- 代码重构 (0)
最新评论
-
psz6696:
可以说是超级简单的Demo了,可惜没有演示设值注入和构造注入两 ...
模拟spring中的ClassPathXmlApplicationContext类的实现 -
ziyourJava:
[flash=200,200][img][url][list] ...
spring security进级篇 V 自定义标签控制显示 -
ztw1122:
...
zk组件开发指南(目录) -
zjysuv:
容我说一句 在座的各位都是垃圾 spring 3.2以后的@C ...
三. spring mvc 异常统一处理 -
chengwu1201:
二 基于Spring的异常体系处理
在学习类集之前,先明确一个概念,那就是啥叫重量级,啥叫轻量级。在学习框架或容器时,常常会有人说这个容器是重量级的,这个容器是轻量级的,现在就对重量级和轻量级做一个解释。
重量级还是轻量级主要看它应用了多少服务。使用服务越多,对系统资源的占用也越多,负载越大,必然会影响到应用发布时间和运行性能。对于一个容器而言,它提供了很多的服务,但默认对应用不是打开的,应用需要某种服务,必须指明使用该服务,则应用只涉及该容器的核心服务,则把这种非入侵式的容器称为轻量级容器。相反,应用在用该容器时,你必须使用该容器给你提供的所有功能,这种入侵式的容器称为重量级容器。
1、 类集合的总体结构图
从总体图上我们可以看到,Collection包括List,set两个子接口。而List的子接口的实现有ArrayList、LinkedList和Vector。Set子接口的实现为hashset,它的子接口还包括SortedSet。
Map接口包括HashMap和HashTable两个实现和sortedMap一个子接口,SortedMap子接口的实现为TreeMap。
下面就几个接口或实现的区别做详细的解释,而此区别也是学习集合的重点:
(1)list、set和Map的区别
1、list中存储的元素对象是有序的,且允许重复。
2、Set中存储的元素对象是无序的散列的且不允许重复,后一个相同元素会覆盖前一个相同元素的对象。
3、Map是一个由key和value组成的键值对。
(2)ArrayList和LinkedList,ArrayList和Vector的区别
ArrayList和LinkedList区别
Linkedlist的底层实现是双向循环列表,所以对于增加删除操作具有很高的效力。适合用来实现Stack和Queue数据结构。
ArrayList底层实现为数组,所以对于查找遍历具有很高的效力,在实际开发中应用较多。
Arraylist和Vector区别和联系
相同点:底层实现都是数组,可以通过下标访问。
不同点:Vector是线性安全的,属于重量级容器。
ArrayList不是线性安全的,属于轻量级容器。
(3)HashMap和HashTable的区别
HashMap是非线性安全的,轻量级容器,它允许空的键值对,它还可以存储null的键值对。
HashTable是线性安全的,重量级容器,它不允许空的键值对,它不能存储null的键值对。
解释:在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。而hashTable不可以。
Map map =new HashMap(); map.put(null, "nihao "); //允许 map.put("key", null); //允许 map.put("null", "nnnnnn");//允许 System.out.println(map.get(null)); System.out.println(map.get("key")); System.out.println(map.get("null")); Map table =new Hashtable(); table.put("null", "table");//允许 table.put("key", null); //不允许 table.put(null, "table");//不允许 System.out.println(table.get("null")); System.out.println(table.get("key"));
(4)Hashset和HashMap
Hashset是一个特殊的HsahMap,它是通过组合HashMap实现的,它把所有存放的对象作为KEY,而Value为null。所以set是特殊的Map。
(5)sortedset是有序的set,它的实现是treeset,而sortedMap是有序的Map,它的实现是treeMap。TreeSet是通过TreeMap实现的一个SortedSet的实现。TreeMap是通过红黑二叉树实现的。
注意:集合在循环获取值时,都会遇到iterator,循环时建议优先考虑iterator
发表评论
-
Java transient关键字
2013-07-01 14:11 1279Java的serialization提供了一种持久化对象实例 ... -
java中的equals()和hashCode()详解
2013-06-23 17:21 1269java中对equals()和hashCode ... -
Java中synchronized 关键字的详解
2013-06-25 12:18 1747在了解cache的过程中,难免会涉及多线程的问题,涉及 ... -
PDF 报表合并
2012-08-14 15:34 1216import java.io.FileOutputStream ... -
java中 set,list,array(集合与数组)相互转换
2011-02-25 17:22 1884public static Object[] List2Arr ... -
互斥访问,限制最大数访问
2010-10-26 18:01 1421/** * @author jgao1 * 用法:P ... -
java中文件操作(递归删除空文件夹,删除过期文件)
2010-09-19 00:23 6413对文件的操作,大家都可能会写一些操作,其实Apache中Fil ... -
java IO类操作
2009-10-24 20:02 1720java的IO类操作主要包括如下几类 1、File类的使用 ... -
java中集合排序问题
2009-10-16 09:59 1710关键字: 集合排序 集合 排序 Iterator ... -
java中已知字体和字体大小确定字体的高度和长度
2009-09-21 17:27 4577public static void main(String ... -
java中路径处理分割
2009-09-12 16:30 5732在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上 ... -
文件中的流
2009-09-07 21:08 14771、base64inputStram public clas ... -
一个javaBean的操作类,主要用于复制bean
2009-08-20 17:53 2762今天用到Bean的复制..恰好有空,写了这个Bean操作类.. ... -
classUtils
2009-08-09 22:55 2051import java.io.File; import ja ... -
java多线程
2009-07-09 21:43 2231java多线程是java基础中的重点,下面就j ... -
java的反射机制
2009-07-04 11:44 1495Java反射机制是利用元类(相似于元数据的概念,元 ... -
抽象类和接口
2009-06-28 15:57 1813今天复习下抽象类和接口。做点重要的笔记 1、抽象 ... -
java中的clone机制及序列化
2009-06-25 22:50 1568在实际编程过程中,我们常常要遇到这种情况:有一个对象A ... -
java字符串的各种编码转换
2009-06-25 21:22 1332import java.io.UnsupportedEncod ... -
对于Java序列化的一次认识 转javaeye(感觉不错)
2009-06-21 22:21 1715其实这个问题简单思考一下就可以搞清楚,方法是不带状态的, ...
相关推荐
### Java 类集详解 #### 一、概述 Java 类集是Java编程语言中处理和管理对象集合的一个重要组成部分。它提供了灵活多样的容器用于存储、检索、操纵对象,并且能够根据不同的需求选择合适的集合类型。类集的核心...
### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...
《Java2编程详解》是一本全面深入探讨Java编程技术的书籍,主要针对Java 2平台进行讲解。在Java 2平台上,Java语言的功能得到了极大的扩展,包括多线程、网络编程、I/O流、数据库连接、图形用户界面(GUI)以及Java...
Java设计模式详解合集是一份宝贵的资源,包含了丰富的面向对象设计原则和多种设计模式的深入讲解。这份资料旨在帮助开发者提升软件设计能力,遵循良好的编程实践,提高代码的可读性、可维护性和复用性。以下是其中...
031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类集】_List接口笔记.pdf 031303_【第13章:Java类集】_LinkedList类笔记.pdf 031304_【第13章:Java类集】_Set接口笔记.pdf ...
Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的方式来组织和操作对象的集合。在Java中,集合主要分为两大类:...无论是处理简单的数据集还是复杂的对象关系,Java集合都能提供强大而灵活的支持。
首先,Java入门电子书中可能涵盖了基础的Java编程概念,如变量、数据类型、控制结构、类与对象、异常处理等。这些基础知识对于理解和应用Java数据库技术至关重要。在掌握这些基本概念后,开发者可以进一步学习如何...
### Java字符集编码乱码详解 #### 一、编码与乱码基础知识 在计算机科学领域,字符集(Character Set)是指一系列符号和电子通信代码的标准集合。每种字符集都有其特定的应用场景和优势。例如,ASCII(American ...
14. **JDBC**:Java数据库连接,用于与各种数据库进行交互,包括连接、执行SQL语句、处理结果集等。 15. **Spring框架**:当前最流行的Java开发框架之一,用于构建企业级应用,包括依赖注入、AOP(面向切面编程)、...
资源名称:Java应用开发详解视频教程(22集)资源目录:【】第00章:JAVA课堂序章【】第01章:JAVA概述及开发环境搭建【】第02章:简单Java程序【】第03章:Java基础程序设计【】第04章:数组与方法【】第05章:面向...
本PPT详细介绍了如何使用Java进行数据库操作,包括连接数据库、执行SQL语句、处理结果集以及事务管理。 首先,JDBC是Java平台的标准接口,它允许Java程序与各种类型的数据库进行通信。要使用JDBC,我们需要导入相关...
### Java正则表达式详解:掌握文本匹配的艺术 正则表达式,又称正则规则或正则模式,是一种用于描述字符串结构的语法,被广泛应用于各种编程语言中,包括Java,用于文本处理、数据验证、搜索与替换等场景。本文将...
在Java编程语言中,DAO(Data Access Object)类是一个重要的设计模式,主要用于处理数据库操作。这个模式将数据访问逻辑封装起来,使得业务层代码与数据存储细节相分离,提高了代码的可重用性和可测试性。本文将...
Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以保持插入时的顺序;而Set则不允许元素重复,它强调的是元素的唯一性。 1. List接口:List接口中最常见的实现类有...
Java2 类库详解 在Java编程领域,Java2 类库,也称为Java 2 Platform (J2SE),是Java开发的基础。它包含了丰富的API(应用程序接口),为开发者提供了构建复杂应用所需的各种工具和服务。Java2类库是Java的核心组成...
### Java数据库连接(JDBC)详解 #### 一、引言 在现代软件开发中,数据库是存储和管理数据的关键组件之一。Java作为一种广泛使用的编程语言,提供了强大的工具和API来处理与数据库的交互,其中最重要的一项技术就是...
在本Java案例详解1精通Java项目开发中,我们将深入探讨如何使用Java技术构建高效、稳定的企业信息系统。这个案例主要基于Java编程语言,并结合SQL2000数据库管理系统,利用MyEclipse开发工具来实现。以下将详细介绍...
### Java 类集与泛型详解 #### 一、引言 在Java开发中,类集(Class Collections)是处理集合数据的重要工具。本篇将基于提供的文档内容,深入探讨Java中的类集及其核心特性之一——泛型。我们将从概念出发,逐步...