onJava8学习--java集合
翻翻博客,写了挺多,也学习过这些知识,翻翻脑子,没找到,再来一遍,整理好方便查阅复习。
本次学习内容来自On Java8java编程思想第五版

集合
泛型和类型安全的集合
基本概念
添加元数据
----
集合的打印
列表List
迭代器Iterators
ListIterators
----
链表LinkList
堆栈Stack
集合Set
----
映射Map
队列Queue
优先级队列PriorityQueue
----
集合与迭代器
For-in和迭代器
适配器方法惯用法
小结
简单集合分类
集合概述

如果一个程序只包含固定数量的对象,且对象的生命周期都是已知的,那么这是一个非常简单的程序(集合使程序不简单)
通常,程序总是根据运行时才知道的某些条件去创建新的对象。在此之前,无法知道对象的数量甚至确切类型。为了解决这个普遍的编程问题,需要在任意时刻任意位置创建任意数量的对象。因此不能依靠创建命名的引用来持有每一个对象。
Apple apple;
因为从来不知道实际需要多少个这样的引用。
大多数编程需要都提供了某种方法来解决这个基本问题。java有多种方式保存对象(确切的说是对象的引用)。例如前边曾经学习过的数组,它是编译器支持的类型。数组是保存一组对象的最有 效的方式,如果想要保存一组基本类型数据,也推荐使用数组。但是数组具有固定的大小尺寸,而 且在更一般的情况下,在写程序的时候并不知道将需要多少个对象,或者是否需要更复杂的方式来存储对象,因此数组尺寸固定这一限制就显得太过受限了。
java.util 库提供了一套相当完整的集合类(collection classes)来解决这个问题,其中基本的类型 有 List 、 Set 、 Queue 和 Map。这些类型也被称作容器类(container classes),但这里将使用Java类库使用的术语–集合。集合提供了完善的方法来保存对象,可以使用这些工具来解决大量的问题。
集合还有一些其它特性。例如, Set 对于每个值都只保存一个对象, Map 是一个关联数组,允许将 某些对象与其他对象关联起来。Java集合类都可以自动地调整自己的大小。因此,与数组不同,在编程时,可以将任意数量的对象放置在集合中,而不用关心集合应该有多大。
尽管在 Java 中没有直接的关键字支持,[^1]但集合类仍然是可以显著增强编程能力的基本工具。在 本章中,将介绍 Java 集合类库的基本知识,并重点介绍一些典型用法。这里将专注于在日常编程中使用的集合。
onJava8学习--java集合的更多相关文章
- 【新手向】如何学习Java集合
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 如果认识我的同学可能就知道,我已经写过很多系列级 ...
- 学习:java集合
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, Jav ...
- 学习Java集合
1.列表 List接口(继承于Collection接口)及其实现类 List接口及其实现类是容量可变的列表,可按索引访问集合中的元素. 特点:集合中的元素有序.可重复: 列表在数据结构中分别表现为: ...
- Java集合框架(Collection Framework)学习之 Collection与Map概貌
写过Java的人都知道Java集合类,也用过Java集合类.Java集合类位于 java.util 这个包下,就像它的包名暗示的那样,Java集合类就是一套工具.它就像工匠的工具箱一样,它能给使用它的 ...
- java集合中的传值和传引用
在学习java集合过程中发现了传值和传引用的区别: 我们来看下面两句话 ●java集合就像一种容器,我们可以把多个对象(实际上是对象的引用),丢进该容器.(来自疯狂java讲义) ●当使用Iterat ...
- Java集合源码分析(一)
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集合框架下大致可以分为如下五个部分:List列表.Set集合.Map映射.迭 ...
- Java集合框架之Collection接口
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
- Java集合源码分析
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集合框架下大致可以分为如下五个部分:List列表.Set集合.Map映射.迭 ...
- 转:【Java集合源码剖析】Java集合框架
转载轻注明出处:http://blog.csdn.net/ns_code/article/details/35564663 Java集合工具包位于Java.util包下,包含了很多常用的数据结构, ...
随机推荐
- ES6新增语法(二)——函数和参数
箭头函数 箭头函数:将原来函数的function关键字和函数名都删掉,并使用"=>"连接参数列表和函数体. 箭头函数语法: (参数1,参数2)=>{ 函数体 } 注意点 ...
- c++中的基本IO
引言 c++不直接处理输入和输出,而是通过标准库中的类型处理IO.IO的设备可以是文件.控制台.string.c++主要定义了三种IO类型,分别被包含在iostream.fstream.sstream ...
- VScode中LeetCode插件无法登录的情况
VScode中LeetCode插件无法登录的情况 一直提示账户和密码无效,不知道什么问题. 后来发现是设置问题 在插件中找到leetcode 右键,点击setting 在界面里找到这里,将leetco ...
- 导出数据在exlcel上
1.前台写一个按钮跳到控制层 <a href="account.do?flag=out" >导出表格</a> 2.控制层导出数据方法 @RequestMap ...
- 关于XP系统因以下文件的损坏或丢失,WINDOWS无法启动:\windows\system32\config\system的解决思路实践
故事背景:在合肥项目中,现场一台使用超过6年的工控机,在近段时间内出现上述标题中出现的系统文件丢失问题 ,该问题重启复现,无法通过传统进入安全模式或者最后一次正确配置等方式进行修复,只能通过将repa ...
- 关于vue3简单状态管理约定引发的思考
官方文档的代码是这样的 export const store = { debug: true, state: reactive({ message: 'Hello!' }), setMessageAc ...
- 终于彻底搞清楚了spin-lock 之一次CPU问题定位过程总结
首先这个问题,我只是其中参与者之一.但这个问题很有参考意义,特记录下来. 还有我第一次用"彻底"这个词,不知道会不会有人喷?其实,还有一些问题,也不是特别清楚.比如说什么是CPU流 ...
- 关于在iar+j-link上的坑坑洼洼
引言 iar版本为8.32,j-link驱动版本为4.34,对应的是stm32 ARM cortex-m3 ,文末有本文的软件和工具,以及需要的文件的链接(免费) 第一坑:iar注册机不能注册iar9 ...
- 在阿里云上单机部署k8s
系统:CentOS Linux release 8.1.1911 配置主机名 [root@iZwz9e3t4tj14jzewdtvj8Z ~]# hostnamectl set-hostname la ...
- 做了两年多的安卓,突然想转Java后端,感觉Android职业前景不太好,转还是不转?
近几年相信很多Android开发者都有过这种想法,最终还是有些Android 开发选择了转行,但是还有些开发者选择了坚持. 因为现在Android开发确实竞争很大,很多公司抛出几个岗位,每天能收到成百 ...