随笔分类 - JAVA 基础深化和提高
摘要:Apache commons-io工具包的使用 Apache基金会介绍 Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证
阅读全文
摘要:数据流 数据流将“基本数据类型与字符串类型”作为数据源,从而允许程序以与机器无关的方式从底层输入输出流中操作Java基本数据类型与字符串类型。 DataInputStream和DataOutputStream提供了可以存取与机器无关的所有Java基础类型数据(如:int、double、String等
阅读全文
摘要:常用流详解 文件字节流 FileInputStream通过字节的方式读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。 FileOutputStream 通过字节的方式写数据到文件中,适合所有类型的文件(图像、视频、文本文件等)。 FileInputStream文件输入字节流 public
阅读全文
摘要:Java中流的概念细分 按流的方向分类: 输入流:数据流向是数据源到程序(以InputStream、Reader结尾的流)。输出流:数据流向是程序到目的地(以OutPutStream、Writer结尾的流)。 按处理的数据单元分类: 字节流:以字节为单位获取数据,命名上以Stream结尾的流一般是字
阅读全文
摘要:IO流技术介绍 什么是IO 输入(Input)指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据)。 输出(Output)指的是:程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。 java.io包为我们提供了相关的API,实现了对所有外部系统的
阅读全文
摘要:HashMap的底层源码分析 底层存储介绍 HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助。 数据结构中由数组和链表来实现对数据的存储,他们各有特点。 (1) 数组:占用空间连续。 寻址容易,查询速度快。但是,增加和删除效率非常低。 (2) 链表
阅读全文
摘要:HashSet底层源码分析 成员变量 private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the backing Map private static final Object
阅读全文
摘要:LinkedList的源码分析 添加元素 节点类 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item =
阅读全文
摘要:Vector源码分析 成员变量 /** * The array buffer into which the components of the vector are * stored. The capacity of the vector is the length of this array bu
阅读全文
摘要:ArrayList源码分析 ArrayList底层是用数组实现的存储 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
阅读全文
摘要:Collections工具类 Collections工具类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。 方法名说明void sort(List)对List容器内的元素排序,排序规则是升序。void shuffle(List)对Li
阅读全文
摘要:遍历集合的方法总结 遍历List方法一:普通for循环 for(int i=0;i<list.size();i++){//list为集合的对象名 String temp = (String)list.get(i); System.out.println(temp); } 遍历List方法二:增强fo
阅读全文
摘要:Iterator接口 Iterator迭代器接口介绍 Collection接口继承了Iterable接口,在该接口中包含一个名为iterator的抽象方法,所有实现了Collection接口的容器类对该方法做了具体实现。iterator方法会返回一个Iterator接口类型的迭代器对象,在该对象中包
阅读全文
摘要:Map接口介绍 Map接口定义了双例集合的存储特征,它并不是Collection接口的子接口。双例集合的存储特征是以key与value结构为单位进行存储。体现的是数学中的函数 y=f(x)感念。 Map与Collecton的区别: Collection中的容器,元素是孤立存在的(理解为单身),向集合
阅读全文
摘要:Set接口介绍 Set接口继承自Collection接口,Set接口中没有新增方法,它和Collection接口保持完全一致。我们在前面学习List接口的使用方式,在Set中仍然适用。因此,学习Set的使用将没有任何难度。 Set接口特点 Set特点:无序、不可重复。无序指Set中的元素没有索引,我
阅读全文
摘要:Vector容器的基本使用 Vector底层是用数组实现的,相关的方法都加了同步检查,因此“线程安全,效率低”。 比如,indexOf方法就增加了synchronized同步标记。 Vector的使用 Vector的使用与ArrayList是相同的,因为他们都实现了List接口,对List接口中的抽
阅读全文
摘要:ArrayList容器的基本使用 老样子,在正式开始介绍前,大家已经看到了我的封面,这是一张NBA最经典的图片之一了吧, 大家还记得这些绝杀球吗???C位的科比拧着身体面对韦德投中打板三分绝杀是多少人热血的 青春啊!希望大家学习之余不忘热爱!科比!!!! 好了,开始正文介绍:ArrayList是==
阅读全文
摘要:容器介绍 我们还是老样子,在正式介绍容器之前,大家已经看到我的封面换上了我们的一人一城老司机——德克诺维斯基,随着NBA新赛季利拉德远赴密尔沃基,NBA的一人一城传奇又有谁能继续书写,当初老司机二十年的坚守,这份信念谁来继承,难回首呐兄弟们!!大家怎么看呢?? 容器简介 容器,是用来容纳物体、管理物
阅读全文
摘要:泛型(Generics) 在开始介绍泛型之前,先浅浅聊点题外话,相信小伙伴们看到了封面的库男神,NBA新赛季马上开始,希望库男神带领新一代五小勇士重回巅峰!!!好了,接下来我们开始我们的正式话题,相信兄弟们更多的还是为了学习哈哈!! 泛型基本概念 泛型是JDK5.0以后增加的新特性。 泛型的本质就是
阅读全文
摘要:枚举 顾名思义,枚举就是一个一个列举的意思。 JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下: enum 枚举名 { 枚举体(常量列表) } 枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型,如示例所示: 【示例】创建枚举类型 enum Season { SPRIN
阅读全文