- 浏览: 753098 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1219Java的serialization提供了一种持久化对象实例 ... -
java中的equals()和hashCode()详解
2013-06-23 17:21 1234java中对equals()和hashCode ... -
Java中synchronized 关键字的详解
2013-06-25 12:18 1703在了解cache的过程中,难免会涉及多线程的问题,涉及 ... -
PDF 报表合并
2012-08-14 15:34 1173import java.io.FileOutputStream ... -
java中 set,list,array(集合与数组)相互转换
2011-02-25 17:22 1845public static Object[] List2Arr ... -
互斥访问,限制最大数访问
2010-10-26 18:01 1385/** * @author jgao1 * 用法:P ... -
java中文件操作(递归删除空文件夹,删除过期文件)
2010-09-19 00:23 6362对文件的操作,大家都可能会写一些操作,其实Apache中Fil ... -
java IO类操作
2009-10-24 20:02 1678java的IO类操作主要包括如下几类 1、File类的使用 ... -
java中集合排序问题
2009-10-16 09:59 1672关键字: 集合排序 集合 排序 Iterator ... -
java中已知字体和字体大小确定字体的高度和长度
2009-09-21 17:27 4545public static void main(String ... -
java中路径处理分割
2009-09-12 16:30 5700在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上 ... -
文件中的流
2009-09-07 21:08 14451、base64inputStram public clas ... -
一个javaBean的操作类,主要用于复制bean
2009-08-20 17:53 2728今天用到Bean的复制..恰好有空,写了这个Bean操作类.. ... -
classUtils
2009-08-09 22:55 2022import java.io.File; import ja ... -
java多线程
2009-07-09 21:43 2193java多线程是java基础中的重点,下面就j ... -
java的反射机制
2009-07-04 11:44 1455Java反射机制是利用元类(相似于元数据的概念,元 ... -
抽象类和接口
2009-06-28 15:57 1787今天复习下抽象类和接口。做点重要的笔记 1、抽象 ... -
java中的clone机制及序列化
2009-06-25 22:50 1529在实际编程过程中,我们常常要遇到这种情况:有一个对象A ... -
java字符串的各种编码转换
2009-06-25 21:22 1291import java.io.UnsupportedEncod ... -
对于Java序列化的一次认识 转javaeye(感觉不错)
2009-06-21 22:21 1683其实这个问题简单思考一下就可以搞清楚,方法是不带状态的, ...
相关推荐
java字符集编码乱码详解
031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类集】_List接口笔记.pdf 031303_【第13章:Java类集】_LinkedList类笔记.pdf 031304_【第13章:Java类集】_Set接口笔记.pdf ...
100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式)
资源名称:Java应用开发详解视频教程(22集)资源目录:【】第00章:JAVA课堂序章【】第01章:JAVA概述及开发环境搭建【】第02章:简单Java程序【】第03章:Java基础程序设计【】第04章:数组与方法【】第05章:面向...
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
Java数据结构与算法视频44集详解入门,学习完应该都能入门数据结构
Java.Bug模式详解 第1章 混乱环境下的灵活方法 1.1 软件设计、实现和维护的趋势 1.1.1 对于稳定、安全 系统的需求增加 1.1.2 传统软件工程技 术的局限性 1.1.3 开放源代码的软 件项目的可利用性 1.1.4 对于...
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part3 一共有三部分,需要集齐才能解压!!!!!!
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part1 一共有三部分,需要集齐才能解压!!!!!!
此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...
java 实现逻辑回归,附带训练集,详解回归算法-LR,二分类问题,回归问题,监督学习,因变量y和自变量x的关系 ,最小化误差平方和
大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著).part2 一共有三部分,需要集齐才能解压!!!!!!
5.4.3 Java类模板创建125 5.4.4 Java中对象的创建和使用127 5.5 属性130 5.5.1 属性的定义130 5.5.2 变量131 5.6 方法132 5.6.1 方法的定义132 5.6.2 构造方法135 5.6.4 方法重载138 5.6.5 自定义方法138 5.6.6 系统...
* executeQuery():只能执行查询语句(DQL),返回ResultSet对象,即结果集对象。 * executeUpdate():执行DML语句(增删改语句)和DDL语句(数据定义语言,Create、Alter、Drop),返回受影响记录数或者零。 * ...
北京动力节点-Java编程零基础教程-119-Java基本语法-方法详解-方法的调用过程-方法调用过程中栈内存的变化.avi 北京动力节点-Java编程零基础教程-120-Java基本语法-方法的重载-什么是方法重载.avi 北京动力节点-...
11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 11.2.1 用客户化映射类型取代Hibernate组件 11.2.2 用UserType映射枚举类型 11.2.3 实现...