
Java程序语言
ITJAVA小李
学而不思则罔,思而不学则殆.
展开
-
Java学习笔记之多线程
1.实现多线程1.1进程进程:是正在运行的程序。是系统进行资源分配和调用的独立单位;每一个进程都有它自己的内存空间和系统资源。1.2线程线程:是进程中的单个顺序控制流,是一条执行路经。单线程:一个进程如果只有一条执行路经,则为单线程程序;多线程:一个进程如果有多条执行路经,则为多线程程序。1.3多线程的实现方式方式1:定义一个类MyThread继承Thread类;在MyT...原创 2020-02-05 19:46:26 · 141 阅读 · 0 评论 -
Java学习笔记之HashSet集合保证元素唯一性地源码解析
HashSet是Set接口的一个实现类,它的底层是HashMap,HashMap的底层是数组加链表.它是怎么保证元素唯一性的呢?我们来看看源码:public V put(K key, V value) { /**四个参数,第一个hash值,第四个参数表示如果该key存在值,如果为null的话,则插入新的value,最后一个参数,在hashMap中没有用,可以不用管,使用默认的即可**/...原创 2019-12-23 15:46:36 · 184 阅读 · 0 评论 -
Java学习笔记之集合Collection/List/ListIterator/LinkedList/栈与队列/数组与链表
1.集合体系结构2.Collection集合的常用方法(1).Collection集合概述:是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素.jdk不提供此接口的任何直接实现,它提供更具体的子接口(如set和list)实现.(2).创建Collection集合的对象多态的方式具体的实现类ArrayList代码实现:Collection<Str...原创 2019-12-21 22:57:52 · 211 阅读 · 0 评论 -
Java学习笔记之并发修改异常(源码解析)
并发修改异常并发修改异常:ConcurrentModificationException1.产生原因:迭代器遍历的过程中,通过集合对象修改了集合中的元素,造成了迭代器获取元素中判断预期修改值和实际修改值不一致2.解决方案:用for循环遍历,然后用集合对集合对象做对应的操作即可3.在了解并发修改异常的时候,需要一段适合的代码来进行演示出现并发修改异常.演示代码:import java.u...原创 2019-12-21 21:25:24 · 364 阅读 · 1 评论 -
Java学习笔记之常用API(1)
1.int类型与String类型的相互转换(1)、int->Stringpublic static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类型中的方法。例:int num = 100;String s = String.valueOf(num);System.out.println(s);(2)、String->...原创 2019-12-20 15:59:44 · 155 阅读 · 0 评论 -
算法学习笔记之递归
算法之递归递归是数学与计算机科学中的基本概念,程序设计语言中的递归程序可被简单定义为对自己的调用,递归程序不能总是自我调用,否则就会永不终止。因此,递归程序必须加上终止条件。 下面我们可以举一个利用递归的例子: 例:使用Java程序生成斐波那契序列。 分析: 无穷序列1,1,2,3,5,8,11,13,21,34 ... 可定义为斐波那契序列。 递归形式为: F (n) = 1, ...原创 2019-12-17 21:48:54 · 150 阅读 · 0 评论 -
算法学习笔记之冒泡排序
冒泡排序 冒泡排序基于交换思想的排序算法,它将相邻的两个元素加以比较,若左边元素值大于右边元素值,则将这两个元素交换;若左边元素值小于等于右边元素值,则这两个元素位置不变。右边元素继续和下一个元素进行比较,重复这个过程,直到比较后一个元素位置。 这里我们采用伪代码形式简单的表示冒泡排序过程: 假设待排序数组为A[1..n]。当排序结束,数组A中包含已排序的序列。for i <- 1...原创 2019-12-18 21:27:08 · 300 阅读 · 0 评论