文档章节

java集合框架总结(一)

开源中国首席灵魂师
 开源中国首席灵魂师
发布于 2016/09/01 17:29
字数 796
阅读 119
收藏 3

本系列博客详细介绍了JAVA集合框架,你将知道:

一.学习目标

1)java集合框架的层次结构

2)使用Collection接口定义的公用方法对集合和线性表操作

3)使用Iterator接口遍历集合

4)使用JDK的增强for循环替代迭代Iterator进行集合遍历

5)熟悉Set接口,了解何时及如何使用HashSet,LinkedHashSet或TreeHashSet来存储元素

6)熟悉Map接口,了解何时及如何使用HashMap,LinkedHashMap或TreeTable来存储元素

7)使用Comparator接口来比较元素,以及实现自然排序,定制排序

8)熟悉List接口,了解何时以及如何使用ArrayList或者LinkedList来存储元素

9)区分Vector与ArrayList,并了解如何使用Vector和Stack

10)使用JDK1.5的一般类型来简化程序设计

11)理解Collection和Map的区别,知道何时及如何使用HashMap,LinkedHashMap,TreeHashMap来存储

12)使用Collections类中的静态方法,及如何解决多线程并发访问集合时 的线程安全问题

13)使用Arrays类中的静态方法

14)如何重写hashCode() 和 equals()实现响应功能

15)使用Properties 类处理属性文件

二:Java 集合概述

前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。

在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework)。

Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率。

  1. Java 集合就像一种容器,可以把多个对象的引用放入容器中。
  2. Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组
  3. 在 Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成 Object 类型处理;从 Java5 增加了泛型以后,Java 集合可以记住容器中对象的数据类型
  4. Java 集合可分为 Set、List 和 Map 三种体系
  • Set:无序、不可重复的集合
  • List:有序,可重复的集合
  • Map:具有映射关系的集合

总的架构如下,包含继承关系,实现的分类,一目了然:

简化的框架图:

-------------------------------------------------------------------------------------------------------------------------------------

具体更多细节可以下载api帮助文档查询:链接:http://pan.baidu.com/s/1i5lW809 密码:mpwy api帮助文档查询:链接:http://pan.baidu.com/s/1i5lW809 密码:mpwy

喜欢就关注我吧,本系列将持续更新...

© 著作权归作者所有

开源中国首席灵魂师
粉丝 19
博文 44
码字总数 41547
作品 0
徐汇
程序员
私信 提问
加载中

评论(2)

开源中国首席灵魂师
开源中国首席灵魂师 博主

引用来自“养码青年”的评论

map为什么指向collection?求解
用带箭头的虚线,表示类之间的依赖关系: 由依赖的一方指向被依赖的一方。
这里的意思是Map依赖Collection,它是Collection的一种实现。可以通过Map生成Collection,比如:Map可以返回其所有键组成的Set和其所有值组成的Collection,或其键值对组成的Set.
养码青年
养码青年
map为什么指向collection?求解
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
2018/11/15
2.6K
0
你必须掌握的 21 个 Java 核心技术!(干货)

点击上方“java进阶架构师”,选择右上角“置顶公众号” 20大进阶架构专题每日送达 51闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘复盘。而写这篇文章的目的是想...

Java进阶架构师
05/03
0
0
Java集合框架(一)——集合概述

本文概述 本篇文章将分三块内容对Java中的集合框架进行介绍: 一. 集合框架相关概念 二. 集合体系通用方法 三. 集合遍历—Iteractor 一. 集合框架相关概念 集合:用于存储多个对象的容器 1....

Mr_Yanger
2017/11/11
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
你必须掌握的 21 个 Java 核心技术!

你必须掌握的 21 个 Java 核心技术! Java技术栈 2018-10-29 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。 ...

浮躁的码农
04/15
150
0

没有更多内容

加载失败,请刷新页面

加载更多

Handler消息传递机制分析

Handler的用途和用法 写过Android程序的人大概都会遇到ANR(Application Not Responding)。如果程序在一段时间内没有响应,系统就会弹出一个对话框,让用户选择继续等待还是强制关闭应用。为...

tommwq
今天
5
0
JS前端MD5加密

Bootstrap官网获得md5 js地址:https://www.bootcdn.cn/blueimp-md5/ <!--MD5加密--><script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script> 使用方法: md5(pwd)......

被毒打的程序猿_先瑞
今天
8
0
BigDecimal 去后面无用的0的方法

BigDecimal a=new BigDecimal("0.1000"); System.out.println(a.stripTrailingZeros().toPlainString());...

xiaodong16
今天
7
0
JAVA--高级基础开发

[集合版双色球] 十二、双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择;请随机生成一注双色球号码。(要求同色号码...

李文杰-yaya
昨天
27
0
聊聊rocketmq broker的CONSUMER_SEND_MSG_BACK

序 本文主要研究一下rocketmq broker的CONSUMER_SEND_MSG_BACK CONSUMER_SEND_MSG_BACK rocketmq/common/src/main/java/org/apache/rocketmq/common/protocol/RequestCode.java public class......

go4it
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部