java核心技术记录之集合】的更多相关文章

java库中的具体集合: 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除操作的有序序列 ArrarDeque 一种用循环数组实现的双端队列 HashSet 一种没有重复元素的无序集合 TreeSet 一种有序集 EnumSet 一种包含枚举类型值的集 LinkedHashSet 一种可以记住元素插入次序的集 PriorityQueue 一种允许高效删除最小元素的集合 HashMap 一种存储键/值关联的数据结构…
1. 概述     Java集合框架由Java类库的一系列接口.抽象类以及具体实现类组成.我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据.集合类型就是容纳这些对象的一个容器.也就是说,最基本的集合特性就是把一组对象放一起集中管理.根据集合中是否允许有重复的对象.对象组织在一起是否按某种顺序等标准来划分的话,集合类型又可以细分为许多种不同的子类型. Java集合框架为我们提供了一组基本机制以及这些机制的参考实现,其中基本的集合接口是Collection接口,其他相关的…
9.1Java集合框架 一些有的没的 可以使用接口类型存放集合的引用.一旦改变了想法,只需要在调用构造函数的地方做一处修改. add方法用于向集合添加元素,如果添加元素确实改变了集合就返回true. tostring()方法用来调试. 迭代器 不同于C++,查找操作与迭代器的位置变更是紧密相连的,在执行查找操作的同时,迭代器的位置随之向前移动. Iterator接口的remove方法:删除上次访问的对象(即调用next方法时返回的元素). Queue.Deque extends Queue接口.…
除了Map结尾的类之外,其他都实现了Collection接口,而以Map结尾的类实现了Map接口. 链表 在Java程序设计语言中,所有链表实际上都是双向链表的(double linked)--即每个节点还存放着指向前去节点的引用. 从链表中间删除一个元素是一个很轻松的操作, 即需要更新被删除元素附近的链接. 在链表中添加或删除元素时,绕来绕去的指针可能已经给人们留下了极坏的印象.如果真是如此的话,就会为Java集合类库提供一个LinkedList而感到拍手称快. 在下面的代码示例中,先添加3个…
术语名 缩写 解释 Java Development Kit JDK 编写java程序的程序员使用的软件 Java Runtime Environment JRE 运行java程序的用户使用的软件 Standard Edition SE 用于桌面或简单的服务器应用的java平台 Enterprise Edition EE 用于复杂的服务器应用的java平台 Micro Edition ME 用于微型手机cell phone和其他小型设备的java平台 Java 2 J2 一个过时的术语,用于描述…
Java是一种强类型的语言,这意味着必须为每一个变量声明一种类型.在java中,一共有8种基本类型,其中4种整型.2种浮点型.1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型. 整型 类型 存储需求 取值范围 int 4字节 -2147483648~2147483647 short 2字节 -32768~32767 long 8字节 -9223372036854775808~9223372036854775807 byte 1字节 -128~127…
HashMap 基本操作 HashMap<Integer,Integer> firstAccurMap=new HashMap<Integer,Integer>(); firstAccurMap.put(0, -1); firstAccurMap.containsKey(sum-k); int begPos=firstAccurMap.get(sum-k); HashMap底层实现 在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值…
13.1.2 Java类库中的集合接口和迭代器接口     删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateException异常.如果想要删除两个相连的元素: it.remove(); it.remove();//error 而是应该 it.remove(); it.next(); it.remove();          怎么觉得这种接口设计好傻呢.谁干的?     如果想要实现自己的集合类,可以从Abstr…
第13章 集合 本章内容: * 集合接口 * 具体的集合 * 集合框架 * 算法 * 遗留的集合 13.1 集合接口 Enumeration接口提供了一种用于访问任意容器中各个元素的抽象机制. 13.1.1 将集合的接口与实现分离 Java集合类库将接口(interface)与实现(implementation)分离. 队列接口指出可以在队列的尾部添加元素,在队列的头部删除元素,并且可以查找队列中元素的个数.当需要收集对象,并按照“先进先出”的规则检索对象时就应该使用队列. 队列通常有两种实现方…
InputStream和OutputStream构成了输入/输出类层次结构的基础.用于按字节进行读写.而与之处在同一等级的Reader/Writer同样作为抽象类定义了用于对字符进行读取的类层次结构,是基于两个字节的Unicode码元的读取. inputStream的抽象方法abstract int read(),每次读入一个字节并返回一个int值,在遇到文件尾的时候返回-1.所以可以用其子类FileInputStream进行文件字符读取: FileInputStream f = new Fil…
这是我读过的第三本关于java基础的书.第一本<<java从入门到精通>>这本书让我灵识初开.第二本<<java敏捷开发>>这本书则是有一次被一位师傅批评基础太差时读的.今日我向一位前辈请教应该怎样再进步一点.前辈推荐我读<<Java核心技术>>并告诉我,先读了这两本查漏补缺,然后在给我推荐进阶的书.工具书这种东西,每一本都不可能相同,比如我们的数学书,同样是小学的,两个地区的书可能就不同. 以下为这本java核心技术中所积累的知识,…
这是一篇备忘性质的读书笔记,仅记录个人觉得有用的知识点 本文作为一个目录索引,部分章节跳过 吐槽:此书中文翻译有不少地方不太通顺,这种情况我要把英文版对应的部分也读一遍才能明白(说实话,英文里的从句表达能力确实比中文清晰不少,不过从句多了之后也不太好理解) 虽然翻译这么厚一本书确实比较辛苦,很多英文长句确实不好翻译,翻译得不太通顺就算了,但是有很多地方翻译出来和原书的意思不一样就过分(甚至是沿袭的错误,第9版的中文版里错得一样,很怀疑每版有没有重新校对) P.S.这也是很多引进的大部头技术书籍的…
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1.1 定义子类 5.1.2覆盖方法 5.1.3子类构造器 5.1.4 继承的层次 5.1.5 多态 5.1.6 理解方法调用 5.1.7 阻止继承:final类和方法 5.1.8 强制类型转换 5.1.9 抽象类 5.1.10 受保护访问 5.2 Object: 所有类的超类 5.2.1 equals方法 5…
最近在读<深入理解java核心技术>,对于里面比较重要的知识点做一个记录! 众所周知,Java是一个面向对象的语言,而java中的基本数据类型却不是面向对象的!为了解决这个问题,Java为每个基本数据类型引入一个对应的类,称为包装类! byte -- Byte  boolean -- Boolean short -- Short  char -- Character int -- Integer  long -- Long  float -- Float  double -- Double 为…
过去一个多月了吧.才囫囵吞枣地把这书过了一遍.话说这书也够长的,一共706页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多也是有始无终,毕竟在之前研究研究程序也只是自己的一个爱好而已,但没有想到签了一个程序员的工作.唉,这老天也太捉弄人了吧,让一个学电气工程(电力电子方向)学生毕业之后去写代码,而且是与硬件完全无关的代码.真是白念几年大学了.行了,就行发这么多牢骚吧. <java核心技术>有两个卷,我只看了卷一,从我…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中评选出四个最帅的武将,并存储下来 // 因为具备了面向对象的思想,所以创建四个对象来存储 Hero hero1 = new Hero("张飞", 18); Hero hero2 = new Hero("赵云", 16); Hero hero3 = new Hero(&q…
之前对Java的基础知识有过学习,现在开始学习<Java核心技术卷1>,将一些新学的知识点,做简要记录,以备后续回顾: 1.double (1)所有的“非数值”都认为是不相同的 if(x==Double.NaN) //永远是true (2) 可以通过Double.isNaN 来判断是不是“非数值” public static void main(String[] args) { int a=9; float c=3.4f; double d=5.6D; System.out.println(D…
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort/parallelSort. –查找:从数组中查找一个元素, binarySearch. –批量拷贝:从源数组批量复制元素到目标数组, copyOf –批量赋值:对数组进行批量赋值, fill. –等价性比较:判定两个数组内容是否相同, equals. (二)实现 import java.util.…
目录 第9讲 | 对比Hashtable.HashMap.TreeMap有什么不同? 典型回答 考点分析 知识扩展 Map 整体结构 有序 Map HashMap 源码分析 容量.负载因子和树化 精选留言 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 杨晓峰-Java核心技术-9 HashMap Hashtable TreeMap M…
<Java核心技术 卷II 高级特性(原书第9版)> 基本信息 原书名:Core Java Volume II—Advanced Features(Ninth Edition) 作者: (美)Cay S. Horstmann    Gary Cornell 译者: 陈昊鹏 王浩 姚建平 丛书名: Java核心技术系列 出版社:机械工业出版社 ISBN:9787111442509 上架时间:2014-2-21 出版日期:2014 年2月 开本:16开 页码:1 版次:1-1 所属分类:计算机 &…
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1*****线程1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和程序的单一进程.线程可以被称为轻量级进程.线程需要较少的资源来创建和驻留在进程中,并且可以…
总结 1.少用八进制,以及二进制. 那么就是直接用16进制或10进制吗?额,想当年有这样搞过,后面就uuid了. 2.>>>用0填充高位>>用符号位填充高位<<<不存在 冷知识吧,也就当年校招见过人问过 3.java没有多维数组,只有一维数组 我们所说的二维数组,本质上是数组的数组 4.编译多个名字差不多的文件 如 AbcController和AbcService两个文件,javac Abc*.java 即可一次性编译两个 5.比较是不是同一个类 用equa…
java核心技术卷一 java基础类型 整型 数据类型 字节数 取值范围 int 4 +_2^4*8-1 short 2 +_2^2*8-1 long 8 +_2^8*8-1 byte 1 -128-127       浮点类型 数据类型 字节数 取值范围 小数位数 float 4 10^-38~10^38和-10^-38~-10^38 小数位数6-7 double 4 10^-308~10^308和-10^-308~-10^308 15位小数         boolean 类型和char 类…
import java.io.*; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.zip.*; public class Fragment { //Java核心技术 卷二 第十版 2.1.1节 private void f001() throws IOException { FileInputStream in = new FileInputStream("t…
摘要 本文根据<Java核心技术 卷一>一书的第八章总结而成,部分文章摘抄书内,作为个人笔记. 文章不会过于深入,望读者参考便好. 为什么要使用泛型程序设计 泛型程序设计(Generic programming) 意味着编写的代码可以被很多不同类型的对象所重用. 类型参数的好处 在没有泛型类之前,ArrayList类只维护一个Object引用的数组: public class ArrayList { private Object[] elementData; // 用于存放数据 public…
<Java核心技术卷一>是唯一可以和<Java编程思想>媲美的一本 Java 入门书.单从技术的角度来看,前者更好一些.但上升到思想层面嘛,自然后者更好,两者的偏重点不同. 思想不会变,所以<Java编程思想>还停留在第 4 版(2007 年):而技术是要更新迭代的,所以<Java核心技术卷一>来到了第十版(2016 年). 我们来看一下<Java核心技术卷一>第十版的大纲. 前九章:包括 "Java 程序设计概述".&quo…
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 一,Set Set:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素 用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复. 对象的相等性 引用到堆上同一个对象的…
JDK1.5新特性: 1.自动拆装箱. 2.泛型 3.可变参数 4.静态导入 5.增强for循环 6.互斥锁 7.枚举 8.注解 JDK1.6新特性: 1.Desktop类和SystemTray类 2.使用JAXB2来实现对象与XML之间的映射 3.StAX 4.使用Compiler API 5.轻量级Http Server API 6.插入式注解处理API(Pluggable Annotation Processing API) 7.用Console开发控制台程序 8.对脚本语言的支持 9.C…
[Java核心技术36讲]1.谈谈你对Java平台的理解 2.Exception和Error有什么区别 3.谈谈final.finally.finalize有什么不同?4.强引用.软引用.弱引用.虚引用.幻象引用有什么区别5.String.StringBuffer.StringBuilder有什么区别6.动态代理是基于什么原理7.int和Integer有什么区别8.对比Vector.ArrayList.LinkedList有何区别9.对比HashMap.HashTable.TreeMap有什么不…
Java技术栈 www.javastack.cn 优秀的Java技术公众号 以下是Java技术栈微信公众号发布的所有关于 Java 的技术干货,会从以下几个方面汇总,本文会长期更新. Java 基础篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具类篇 Java 综合篇 Java基础篇 恕我直言,在座的各位根本写不好Java! 8张图带你轻松温习 Java 知识 Java 中的基本数据类型转换详解 Java 父类强制转换子类原则 switch 支持的…