
Java高级编程
文章平均质量分 60
Java高级编程
程序猿塔塔开
这个作者很懒,什么都没留下…
展开
-
<11>Java集合——HashMap
1.HashMap在jdk7中实现原理:HashMap map = new HashMap():------->在实例化以后,底层创建了长度是16的一维数组Entry[] table。------->…可能已经执行过多次put…------->map.put(key1,value1):------->首先,调用key1所在类的hashCode()计算key1哈希值,此哈希值经过某种算法计算以后,得到在Entry数组中的存放位置。------->如果此位置上的数据为空原创 2021-11-12 14:31:30 · 1257 阅读 · 0 评论 -
<11>Java集合——Map接口
1.常用实现类结构|-------- Map:双列数据,存储key-value对的数据 |-------HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value |------LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。(原因:在原的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素。 对于频繁的遍历操作,此类执行效率高于HashMap。) |-------TreeMap:保证照添加的key-val原创 2021-11-12 14:20:24 · 570 阅读 · 0 评论 -
<11>Java集合——TreeSet自然排序、定制排序
1.自然排序在TreeSet中默认要求里面的元素进行自然排序,强制要求里面的所有元素必须按照Comparable中的compareTo方法进行比较。类需实现Comparable接口,并重写方法compareTo(Object obj) 方法。两个对象即通过 compareTo(Object obj) 方法的返回值来比较大小。如果当前对象this大于形参对象obj,则返回正整数,如果当前对象this小于形参对象obj,则返回负整数,如果当前对象this等于形参对象obj,则返回零。Tr原创 2021-11-11 21:41:40 · 699 阅读 · 0 评论 -
<11>Java集合——Collection子接口:Set接口
1.存储的数据特点:无序的、不可重复的元素。以HashSet为例说明:无序性:不等于随机性。存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的。不可重复性:保证添加的元素照equals()判断时,不能返回true.即:相同的元素只能添加一个。...原创 2021-11-11 20:32:56 · 104 阅读 · 0 评论 -
<11>Java集合——Collection子接口:List接口
1.存储的数据特点:存储有序的、可重复的数据。2.常用方法:增:add(Object obj)删:remove(int index) / remove(Object obj):删除list 里的单个元素改:set(int index, Object ele):替换 list 中指定索引的元素查:get(int index):通过索引值获取 list 中的元素插:add(int index, Object ele)将元素插入到指定位置的list 中长度:size():返回 list 里元素数原创 2021-11-07 18:43:57 · 102 阅读 · 0 评论 -
<11>jdk5.0新特性--增强for循环:(foreach循环)
1.遍历集合举例: @Test public void test01(){ // 创建集合 ArrayList<Integer> list = new ArrayList<>(); list.add(100); list.add(120); list.add(154); list.add(121); //for(集合元素的类型 局部变量 :原创 2021-11-07 16:17:00 · 168 阅读 · 0 评论 -
<11>Java集合——Iterator(迭代器)
1.Iterator(迭代器)概述Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。2.基本方法迭代器 it 的两个基本操作是 next 、hasNext 和 remove。调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。调用原创 2021-11-07 16:10:36 · 336 阅读 · 0 评论 -
<11>Java集合——Collection接口
1.Collection 接口概述Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。Collection 接口存储一组不唯一,无序的对象。2.Collection接口常用方法方法作用Iteraror iterator()返回一个用于访问集合中各个元素的迭代器int size()返回当前存储在集合中的原创 2021-11-07 15:46:15 · 279 阅读 · 0 评论 -
<11>Java集合——数组与集合
集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr;int[] arr1;Object[] arr2;数组存储的弊端:一旦初始化以后,其长度就不可修改。数组中提供的方法.原创 2021-11-07 14:58:04 · 93 阅读 · 0 评论 -
<11>Java集合——集合框架结构
集合框架结构 |----Collection接口:单列集合,用来存储一个一个的对象 |----List接口:存储序的、可重复的数据。 -->“动态”数组 |----ArrayList、LinkedList、Vector |----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合” |----HashSet、LinkedHashSet、TreeSet...原创 2021-11-07 14:53:02 · 88 阅读 · 0 评论 -
<8>多线程(上)
1 程序、进程、线程的理解 ①程序概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。 ②进程程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 ③线程概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),多个线程,共享同一个进程中的结构:方法区、堆。线程切换的开销小。2 并行与并发2.1 单核CPU与多核CPU原创 2021-10-08 20:03:06 · 77 阅读 · 0 评论 -
<13>IO流(下)
1.1 缓冲流1.缓冲流涉及到的类:BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter2.作用:作用:提高流的读取、写入的速度提高读写速度的原因:内部提供了一个缓冲区。默认情况下是8kb1.1.1 使用BufferedInputStream和BufferedOutputStream处理非文本文件例:复制图片xx.jpg为zz.jpg @Test public void test01(){原创 2021-09-29 20:04:55 · 71 阅读 · 0 评论 -
<13>IO流(上)
1.1 IO流概述1.1.1 流的分类1.按操作数据单位:字节流、字符流2.按数据的流向:输入流、输出流3.按流的角色:节点流、处理流1.1.2 流的体系结构一个流被定义为一个数据序列。输入流用于从源读取数据,输出流用于向目标写数据。下图是一个描述输入流和输出流的类层次图:1.2 输入、输出的标准化过程1.2.1 输入过程① 创建File类的对象,指明读取的数据的来源。(要求此文件一定要存在)② 创建相应的输入流,将File类的对象作为参数,传入流的构造器中③ 具体的读入过程:原创 2021-09-25 15:43:43 · 92 阅读 · 0 评论 -
<15>Java反射机制
1.1 反射的理解能够分析类能力的程序成为反射(reflective),反射是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。1.2 反射机制能提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时获取泛型信息在运行时调用任意一个对象的成员变量和方法在运行时处理注解生成动态代理1.3 Class类类的加载过程:程序经过j原创 2021-09-24 21:34:05 · 118 阅读 · 0 评论