02 2022 档案

摘要:java数组模拟队列和环形队列 要点 有序列表 先进先出 数组模拟队列 思路 需要maxSize(最大容量) 需要两个变量front和rear分别记录前后两端的下标 front和rear都会根据数据输入输出而改变 添加数据的思路 当front == rear时(也就是空队列的时候)可以存入数据,将尾 阅读全文
posted @ 2022-02-28 21:16 CoderCatIce 阅读(31) 评论(0) 推荐(0)
摘要:稀疏数组 介绍 当一个数组大部分元素为同一个值时,可以使用稀疏数组来压缩保存 处理方法 记录数组有几行几列,有多少个不同的值 把具有不同值的元素的行和列及值记录在一个小规模的数组中 应用实例 需求 使用稀疏数组来保存二维数组 将压缩后的稀疏数组还原为二维数组 代码实现 二维数组转稀疏数组 // 将二 阅读全文
posted @ 2022-02-28 14:47 CoderCatIce 阅读(32) 评论(0) 推荐(0)
摘要:数据结构 数据结构分为线性结构和非线性结构 线性结构 要点 最常用的数据结构,数据元素之间存在一对一的线性关系 线性结构分为顺序存储结构(顺序表)和链式存储结构(链表) 顺序表中的元素是连续的 链表中的元素是不一定连续的,通过节点中存放的数据元素和相邻元素的地址 常见结构有:数组、队列、链表和栈 非 阅读全文
posted @ 2022-02-27 21:25 CoderCatIce 阅读(30) 评论(0) 推荐(0)
摘要:java集合体系 集合分为两组*(单列集合,双列集合)* 单列:Collection 主要子接口:List(有序可重复)、Set(无序) 双列:Map 主要实现类:HashTable、HashMap、TreeMap 单列 List(有序可重复) 所有实现类: 主要实现类:Vector、ArrayLi 阅读全文
posted @ 2022-02-27 15:46 CoderCatIce 阅读(116) 评论(0) 推荐(0)
摘要:LinkedHashSet源码分析 java模拟数组+链表:java模拟数组+链表 - CoderDreams - 博客园 (cnblogs.com)(LinkedHashSet为双向链表) 结论 LinkedHashSet加入顺序和取出元素的顺序是一致的 维护的是一个LinkedHashMap(是 阅读全文
posted @ 2022-02-26 16:45 CoderCatIce 阅读(41) 评论(0) 推荐(0)
摘要:HashSet小练习 需求 定义一个Employee类 该类包含: private成员属性name,sal,birthday(MyDate类型) 其中 birthday为 MyDate类型(属性包括:year, month, day) 要求: 创建3个Employee 放入HashSet中 当nam 阅读全文
posted @ 2022-02-26 13:41 CoderCatIce 阅读(64) 评论(0) 推荐(0)
摘要:HashSet源码分析 java模拟数组+链表:java模拟数组+链表 - CoderDreams - 博客园 (cnblogs.com) 结论 HashSet底层是HashMap 添加一个元素时:先得到Hash值 ==> 转成索引 找到存储数据表table,检查这个索引位置是否已经存放有元素 如果 阅读全文
posted @ 2022-02-26 13:08 CoderCatIce 阅读(39) 评论(0) 推荐(0)
摘要:java模拟数组+链表 模拟链表:java简单模拟双向链表 - CoderDreams - 博客园 (cnblogs.com) public class HashMapDemo { public static void main(String[] args) { // 模拟数组+链表 // 创建一个 阅读全文
posted @ 2022-02-24 07:55 CoderCatIce 阅读(72) 评论(0) 推荐(0)
摘要:LinkedList源码分析 大家可以先看一下这篇java简单模拟双向链表 - CoderDreams - 博客园 (cnblogs.com) 结论: 维护的是一个双向链表 无参构造器 public LinkedList() { } 无参实例化后,维护的是一个双向链表(此时:size=0;first 阅读全文
posted @ 2022-02-23 15:15 CoderCatIce 阅读(37) 评论(0) 推荐(0)
摘要:java简单模拟双向链表 模拟一个简单的双向链表 Node类 // 定义一个Node类,node对象表示双向链表的一个节点 class Node { public Object item; public Node next; public Node pre; public Node(Object i 阅读全文
posted @ 2022-02-23 14:26 CoderCatIce 阅读(41) 评论(0) 推荐(0)
摘要:Vector源码分析 结论 无参构造,默认长度为10,满后按2倍扩容 指定大小,需要扩容时,每次按两倍扩容 源码分析 和ArrayList类似 无参构造时 无参构造器 public Vector() { // 按照10个空间大小调用带参构造器 this(10); } 带参构造时 带参构造 publi 阅读全文
posted @ 2022-02-23 13:50 CoderCatIce 阅读(52) 评论(0) 推荐(0)
摘要:ArrayList扩容源码分析 结论 实际是维护了一个Object类型的数组(transient Object[] elementData) transient表示瞬时,表示该属性不会被序列化 创建ArrayList时,调用无参构造时 初始elementData容量为0,第一次添加时,扩容至10 如 阅读全文
posted @ 2022-02-23 09:26 CoderCatIce 阅读(41) 评论(0) 推荐(0)
摘要:第一个JSP项目 新建一个Web application项目 一直next 配置Tomcat 1.编辑配置 2.添加Tomcat 3.配置tomcat路径和开启端口 4.手动添加启动器 配置完毕保存 然后运行 这些红色的不是报错 阅读全文
posted @ 2022-02-22 16:51 CoderCatIce 阅读(79) 评论(0) 推荐(0)
摘要:JUC生产者消费者指定唤醒 使用不同的condition,调用signal() import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurre 阅读全文
posted @ 2022-02-21 12:52 CoderCatIce 阅读(24) 评论(0) 推荐(0)
摘要:JUC版的生产者消费者 使用Lock对象进行上锁 使用Condition对象进行等待唤醒 import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.con 阅读全文
posted @ 2022-02-21 11:32 CoderCatIce 阅读(18) 评论(0) 推荐(0)
摘要:线程池基本使用 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class PoolDemo { public static void main(String[] a 阅读全文
posted @ 2022-02-20 15:29 CoderCatIce 阅读(63) 评论(0) 推荐(0)
摘要:java多线程生产者消费者模型 利用缓冲区解决:管程法 // 生产者,消费者,产品,缓冲区 public class TestPCDemo { public static void main(String[] args) { // 定义容器 SynContainer synContainer = n 阅读全文
posted @ 2022-02-20 14:22 CoderCatIce 阅读(53) 评论(0) 推荐(0)
摘要:所有类型的Class /* * 所有类型的Class * */ import java.lang.annotation.ElementType; public class ClassDemo { public static void main(String[] args) { // 类的Class 阅读全文
posted @ 2022-02-15 21:15 CoderCatIce 阅读(40) 评论(0) 推荐(0)
摘要:reflection(反射)得到Class对象的方法 反射得到Class对象的基础使用 一个类在内存中只有一个Class对象 一个类被加载后,类的整个结构都会被封装在Class对象中 public class Demo { public static void main(String[] args) 阅读全文
posted @ 2022-02-15 19:54 CoderCatIce 阅读(69) 评论(0) 推荐(0)
摘要:Stream流的练习 需求 现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作: 男演员只要名字为3个字的前三人 女演员只要姓林的,并且不要第一个 把过滤后的男演员姓名和女演员姓名合并到一起 把上一步操作后的元素作为构造方法的参数创建演员对象遍历数据 演员类 阅读全文
posted @ 2022-02-15 00:04 CoderCatIce 阅读(82) 评论(0) 推荐(0)
摘要:接口的补充 接口中的默认方法 可写入默认的方法体,可不重写,重写时去掉default修饰符 接口中的静态方法 可写入方法体,只能被接口静态调用,实现类也不能调用 接口中的私有方法 可使用private修饰符,实现对接口中静态方法或默认方法的抽离 阅读全文
posted @ 2022-02-11 23:57 CoderCatIce 阅读(28) 评论(0) 推荐(0)
摘要:Lambda表达式的基础用法 需要一个接口 接口中有且只有一个抽象方法 必须有上下文环境(赋值或者是对应参数) 无参无返回值 接口: public interface Person { void eat(); } 测试类: public class LambdaDemo { public stati 阅读全文
posted @ 2022-02-11 01:18 CoderCatIce 阅读(65) 评论(0) 推荐(0)
摘要:网络编程实现 InetAddress /* * 没有可调用的构造方法,使用静态方法返回对象 * */ import java.net.InetAddress; import java.net.UnknownHostException; public class Address { public st 阅读全文
posted @ 2022-02-10 23:34 CoderCatIce 阅读(53) 评论(0) 推荐(0)
摘要:文件与集合之间转换 字符串 集合到文件 需求:把ArrayList集合中的字符串数据写入到文本文件。要求:每一个字符串元素作为文件中的一行数据 思路: 创建ArrayList集合 往集合中存储字符串元素 创建字符缓冲输出流对象 遍历集合,得到每一个字符串数据 调用字符缓冲输出流对象的方法写数据 释放 阅读全文
posted @ 2022-02-07 22:55 CoderCatIce 阅读(130) 评论(0) 推荐(0)
摘要:斗地主随机发牌实现 需求: 通过程序实现斗地主过程中的洗牌,发牌和看牌 思路: 创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 往牌盒里面装牌 洗牌,也就是把牌打撒,用Collections的shuffle()方法实现 发牌,也就是遍历集合,给三个玩家发牌 看牌,也就是三个玩家分 阅读全文
posted @ 2022-02-07 00:24 CoderCatIce 阅读(305) 评论(0) 推荐(0)
摘要:键盘录入一个字符串,要求统计字符串中每个字符串出现的次数 需求:键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。 举例:键盘录入“aababcabcdabcde" 在控制台输出:“a(5)b(4)c(3)d(2)e(1)" 思路: 键盘录入一个字符串 创建HashMap集合,键是Chara 阅读全文
posted @ 2022-02-06 21:25 CoderCatIce 阅读(233) 评论(0) 推荐(0)
摘要:利用ArrayList制作一个学生管理系统 学生实体类代码: package train.base.studentManagerSystem; // Student实体类 public class Student { private int uid; private String name; pri 阅读全文
posted @ 2022-02-05 22:38 CoderCatIce 阅读(129) 评论(0) 推荐(0)
摘要:java基础的6个实训 不死神兔 需求: 有一对兔子, 从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问第二十个月的兔子对数为多少? 思路: 定义一个数组存储兔子对数 第一月、第二月都是已知,都是1, 找到规律用循环实现计算 代码: public 阅读全文
posted @ 2022-02-04 17:30 CoderCatIce 阅读(104) 评论(0) 推荐(0)
摘要:java多线程基础 线程的创建 自定义线程类继承Thread类 重写run() 创建线程对象,调用start()启动线程 public class Demo1 extends Thread{ @Override public void run() { // run方法线程体 for (int i = 阅读全文
posted @ 2022-02-03 23:44 CoderCatIce 阅读(28) 评论(0) 推荐(0)
摘要:java中IO字符缓冲流的使用 字符缓冲流的基础使用 /* * 字符缓冲流 * BufferedWriter和BufferedReader * */ import java.io.*; public class Buffer { public static void main(String[] ar 阅读全文
posted @ 2022-02-02 22:35 CoderCatIce 阅读(48) 评论(0) 推荐(0)
摘要:java中基础字符流使用 java中编码表编码解码 中文的编码都是负数 UTF-8中每个中文字符占3个字节 GBK中每个中文字符占2个字节 编码解码要使用统一的编码表 默认使用UTF-8 字符串中编码解码 import java.io.UnsupportedEncodingException; im 阅读全文
posted @ 2022-02-02 21:40 CoderCatIce 阅读(49) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示