Java集合框架(java.util包)
集合的概念:
是一种工具类,可以存储任意数量、任意类型的对象(所以后面需要用到泛型,以约束集合中元素的类型)
集合的作用:
1、在类的内部对属性进行组织
2、方便快速定位属性位置
3、某些集合接口,提供了一系列排列有序的元素,可以在序列中快速插入或删除
4、某些集合接口,提供了映射关系,可以通过关键字(key)快速查找到对应的唯一对象,而这个key可以是任意类型
集合与数组的差别:
1、数组长度固定,集合长度可变
2、数组只能通过下标访问具体元素,集合则可通过任意类型查找所映射的具体对象
Java集合框架体系结构:根接口——子接口——实现类(并未全部列出)

List接口及其常用实现类——ArrayList
1、List是元素有序并且可以重复的集合,称为序列
2、List可以精确插入或删除某个位置的元素
3、ArrayList——数组序列,底层是由数组实现的
ArrayList实现的方法详见Java API文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
注意:对象存入集合都会变成Object类型,取出时需要进行类型转换
泛型:
集合中的元素可以是任意类型的对象,如果把某个对象放入集合,则会忽略他的类型,当作Object处理
1、泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,编译期间会进行类型检查
2、泛型使用for each方法遍历集合时,不需要用Object,直接使用原类型即可
3、泛型集合中的限定类型不能使用基本数据类型,可以通过使用包装类限定允许存入的基本数据类型
Set接口及其实现类——HashSet
1、Set是元素无序并且不可以重复的集合,称为“集”
2、HashSet——哈希集
3、Set中,同一个对象无论添加多少次,只有第一次会添加生效
4、Set中可以添加null
Map
Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够根据key查找value,key和value可以是任意类型的对象
key和value属于Entry类的对象实例
key值不能重复
一个value可以对应多个key,一个key只能对应一个value
Map的泛型:Map<K, V> //K为key值的类型,V为value值的类型
HashMap
HashMap中的Entry对象是无序排列的
key值和value值可以为null,但是只能有一个key为null,因为key不可重复
Java集合框架(java.util包)的更多相关文章
- java 集合框架 Java集合&List的实现
原文: https://blog.csdn.net/u012658346/article/details/50917068 一.java集合类图如下所示: 上述类图中,实线边框的是实现类,比如Arra ...
- Lambda表达式和Java集合框架
本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...
- 浅谈JAVA集合框架
浅谈JAVA集合框架 Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container classes),又称群集类(collection cl ...
- 《深入理解Java集合框架》系列文章
Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...
- Java集合框架之四大接口、常用实现类
Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...
- Java集合框架介绍。Java Collection Frameworks = JCF
Java集合框架 = Java Collection Frameworks = JCF . 为了方便理解,我画了一张思维脑图.
- Java集合框架
集合框架体系如图所示 Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包. Map接口的常用方法 Map接口提 ...
- Java集合框架的总结
本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...
- Java集合框架之Collection接口
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
随机推荐
- Example-09-01
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstring> int min(int a, int ...
- 七个用于数据科学(data science)的命令行工具
七个用于数据科学(data science)的命令行工具 数据科学是OSEMN(和 awesome 相同发音),它包括获取(Obtaining).整理(Scrubbing).探索(Exploring) ...
- Flex AIR使用ADT命令打包 ipa
1. 配置环境变量. 2. 测试adt命令 3. 将ShepherdPhone0815.mobileprovision和 my.p12文件都放入编译好的工程目录下,如下图: 4.切换到上述编译好的目录 ...
- springboot + rabbitmq发送邮件(保证消息100%投递成功并被消费)
前言: RabbitMQ相关知识请参考: https://www.jianshu.com/p/cc3d2017e7b3 Linux安装RabbitMQ请参考: https://www.jianshu. ...
- Python--day41--线程锁
1,死锁 死锁代码示例: import time from threading import Lock, Thread noodle_lock = Lock() fork_lock = Lock() ...
- H3C 通配符掩码
- win10 uwp 使用 AppCenter 自动构建
微软在今年7月上线 appcenter.ms 这个网站,通过 App Center 可以自动对数千种设备进行适配测试.快速将应用发送给测试者或者直接发布到应用商店.做到开发的构建和快速测试,产品的遥测 ...
- 2018-8-10-win10-uwp-绑定-OneWay-无法使用
title author date CreateTime categories win10 uwp 绑定 OneWay 无法使用 lindexi 2018-08-10 19:16:50 +0800 2 ...
- 【t046】牛跳
Time Limit: 1 second Memory Limit: 128 MB [问题描述] John的奶牛们计划要跳到月亮上去.它们请魔法师配制了P(1 <= P <=150,000 ...
- Vue-axios 在vue cli中封装
common/post.js import axios from 'axios' // 引入axios import qs from 'qs' // 引入qs axios.defaults.baseU ...