- 博客(57)
- 收藏
- 关注
原创 单向链表的实现
public class LinkedList { public static void main(String[] args) { PersonNode p1=new PersonNode(1,"a"); PersonNode p2=new PersonNode(2,"b"); PersonNode p3=new PersonNode(3,"c"); PersonNode p4=new PersonNode(4,"d"); .
2022-05-21 20:08:11
293
原创 栈Stack学习
栈的特点:1.栈是一个先入后出的线性存储表 2.栈的结构限制了元素的加入和取出均在栈的一端进行栈的思路分析和代码实现:import java.util.Scanner;public class ArrayStack01{ //数组模拟栈结构 public static void main(String[] args) { arraystack stack=new arraystack(4); Scanner s...
2022-05-20 11:35:04
114
原创 稀疏数组与队列
在实际需求中 当大部分数组元素为0或者为相同值的时候可以用一个小规模的数组代替 起到简化的作用 下面分析思路并实现代码思路分析:1.首先遍历原数组 找到这个数组中特殊元素的个数 作为稀疏数组的大小2.创建新的稀疏数组 将有效数据存入 行 列 值 public class sparsearray { public static void main(String[] args) { //创建一个11*11的围棋...
2022-05-19 21:56:02
80
原创 反射机制学习
public class ClassSet { //获取class的3种方式 public static void main(String[] args) throws ClassNotFoundException { //1.Class.forName() 静态方法 方法的参数是完整的字符串 字符串为类名 Class c1=Class.forName("java.lang.String"); //c1代表String类型或者说是String.
2022-05-19 09:41:47
93
原创 Map小练习
import java.util.*;public class Mapprac { public static void main(String[] args) { //HashMap小练习 HashMap<String,employee> emap=new HashMap<>(); //添加三个员工对象 并将其中工资大于1800的员工遍历输出 employee e=new employee(2000,"a".
2022-05-17 19:08:42
85
原创 字符串和整形数的转换
int转换成String:1.int i=1; String s=i+" ";2.String.valueOf(int)String转换成int: Integer.parseInt(String)public class Transform { public static void main(String[] args) { int i=Integer.parseInt("100"); int num=123; Sy...
2022-05-13 11:59:23
226
原创 自动装箱和自动拆箱
public class IntegerTest { public static void main(String[] args) { //自动装箱 基本数据类型--->包装 int x=900; Integer y=x; System.out.println("int类型x为"+x+"\n"+"Integer类型y为"+y); //自动拆箱 包装---->基本数据类型 Integer i=.
2022-05-13 11:08:58
130
原创 八种包装类
Java中的包装类 是引用数据类型 为8种基本数据类型对应的 父类为Object 基本数据类型 包装类 byte Byte short Short int ...
2022-05-13 10:34:37
205
原创 HashMap的equals和hashcode重写
public class HashMapTest { public static void main(String[] args) { Student s1=new Student("张三"); Student s2=new Student("张三"); //重写equals之前比较的是二者的地址 返回结果为false 重写后为true System.out.println(s1.equals(s2)); //比较二者.
2022-05-13 09:12:37
868
原创 Map底层
HashMap的底层是一个散列表 即哈希表哈希表是什么样的数据结构呢?1.数组加链表的结合体 数组查询效率高 增删效率低 而链表正好相反Node<K,V>[] 一维数组 存储的元素是Nodeclass Node<K,V>2.Node类中 分别有以下的属性:final int flash key的hashcode执行结果final K key 存储的key final V value 存储的v...
2022-05-12 21:54:32
834
1
原创 Map的遍历
import java.util.*;public class MapTest { public static void main(String[] args) { Map <Integer,String> map=new HashMap<>(); //泛型要求的是对象 基本数据类型不算 所以使用int时需要转变成Integer包装类 map.put(1,"a"); map.put(2,"b"); .
2022-05-12 21:08:50
134
原创 浅学 Java 集合
今天学习Java集合中的Map接口1.Map类似于一个函数 以键值对的方式存储数据2.key和value存储的都是对象的地址3.key不可以重复 value可以 value是key的附属品4.Map<K,V> 泛型形式 键值对用逗号隔开方法:import java.util.*;public class MapTest { public static void main(String[]...
2022-05-12 20:24:56
140
原创 二维数组练习
写函数 打印给定 2 维列表的转置测试用例: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] 输出:[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]] 思路分析: 采用二维数组的方式
2022-05-11 08:49:19
223
原创 Java字符串练习
本题出自于我的大一学年Python期中考试 换了个语言实现:用户输入一个正整数 n,表示将要输入的单词个数,然后用户依次 输入 n 个单词(可能有重复 )计算机能够去掉重复输入的单词后,按照输入顺序的相反顺序来打印所有单词输入:正整数 n 以及 n 行字符串。 输出:多行字符串。 输入用例: 5喜欢爱好晴朗喜欢晴朗输出: 晴朗喜欢爱好import java.util.*;public class Pythontest...
2022-05-10 19:57:39
250
原创 super关键字
super:用于访问父类的属性 方法 和构造器注意:在访问属性和方法时 无法访问private修饰的语法:super.属性/方法(参数列表)/构造器使用super:在查找方法的时候 会忽略本类中相同名字的方法 直接跳到父类去寻找如果没有找到 一直找到父类的父类 --->Object类去执行没有使用super调用方法时候:this.方法和直接调用方法 都是找到本类的方法执行对于属性...
2022-05-10 09:53:42
89
原创 抽象类的介绍
abstract关键字:被abstract修饰的就是抽象的抽象类的作用:让子类继承并且实现抽象类 抽象类更多是一种设计抽象类和抽象方法:有抽象方法就一定对应着抽象类 abstract 返回值 方法名(); 抽象方法 也是没有实现的方法 即不存在方法体 抽象类中不一定都是抽象方法 也可以没有public class abstracteg { public static void main(...
2022-05-09 11:04:46
70
原创 零钱通小项目
简单的控制台输入输出的支付宝主要功能为控制台输入消费和到账金额并且打印明细import java.util.*;class Account { private int balance; private ArrayList income=new ArrayList(); private ArrayList outcome=new ArrayList(); public int getBalance() { return balance; }
2022-05-02 22:07:20
220
原创 浅学JAVA 集合——Set
Set接口:1.无序 数据添加和取出顺序不相等2.不允许重复 最多存在一个null3.不存在索引的概念方法:其实就是遵循增删改差引申的一些方法增加 .add 删除 .remove 查.containsimport java.util.*;public class Setprac { public static void main(String[] args) { //Set接口的方法 ...
2022-05-02 20:16:32
446
原创 快速排序算法
快速排序是分治的思想 对于一个给定的数组 通常我们将第一个元素当做基准数从左边 设定i 找到第一个大于基准数的数字 从右边 设定j 找到第一个小于基准数的数字将这两个数字的位置交换 直到i和j逐渐逼近直至相等每当i和j重合 将基准数和索引为i的位置数字交换此时 基准数的左边 全是小于它的 右边 全是大于它的以这样的思想 在对左右两边处理(递归思想)直到数组完全有序import java.util.Arrays;public class QuickSort { public
2022-05-02 18:32:46
187
原创 选择排序算法
import java.util.Arrays;public class SelectionSort { public static void main(String[] args) { //选择排序 int arr[] = {30, 10, 7, 5, 25, 9, 40, 50, 16, 65}; int size = arr.length; int min = 0; for (int i = 0; i <.
2022-05-02 17:43:38
67
原创 StringBuffer练习
import java.util.Scanner;public class Stringbufferprac { public static void main(String[] args) { //使用StringBuilder 向价格整数部分每三位加入一个逗号间隔 Scanner sc=new Scanner(System.in); System.out.println("请输入价格:"); float price= sc.ne.
2022-05-02 17:10:54
176
原创 二维数组回顾
简单复习一下二维数组首先咱们从一维数组说起 :创建一维数组的几种方式:public class Array { public static void main(String[] args) { //创建一维数组 //1.直接创建 int arr[]={1,2,3}; int Arr[]=new int[]{1,2,3,4,5}; //2.动态创建 int arr1[]=new...
2022-04-28 10:58:12
191
原创 打印三角形
空心等腰三角形和杨辉三角形public class Yanghui { public static void main(String[] args) { //杨辉三角形 二维数组解决 int arr[][]=new int[10][]; for(int i=0;i< arr.length;i++){ arr[i]=new int[i+1]; for(int j=0;j<arr[i].le
2022-04-27 21:20:55
156
原创 ==和equals
==1.既可以判断基本数据类型 又可以判断引用数据类型2.判断基本数据类型 -------->看的是二者的值是否相等3.判断引用数据类型---------->看的是二者地址是否相等 即是否为同一个对象引用数据类型:类,接口,数组这里的类既可以是自己创建的 也可以是Java库中自带的String Intger boolean Object..........equals的重写: ...
2022-04-26 17:34:06
318
原创 TCP小练习
import java.net.*;import java.io.*;public class HomeworkServer { /*客户端发送Name 服务端接收后返回"Server运行中" 客户端发送 Time 服务端接受后返回 当前日期 */ public static void main(String[] args) throws Exception{ ServerSocket serverSocket=new ServerSocket(8888.
2022-04-26 16:42:34
474
原创 JAVA IO 学习日志
字符转换流的使用:InputStreamReader和OutputStreamWriterimport java.io.*;public class Streamreadwrite { public static void main(String[] args) throws Exception{ //字节流转化成字符流 String filepath="e:/file.txt"; InputStreamReader isr...
2022-04-26 14:16:43
536
原创 TCP网络编程
基本介绍:1.基于客户端-服务端的网络编程2.底层应用是TCP-IP协议3.客户端发送数据 通过Socket服务端接受并且输出在控制台Socket字节流案例:主机/客户端------------->主机/服务端发起连接 等待连接输出流 输入流比如你在访问淘宝 每一次操作是你向淘宝的服务端发起连接 淘宝服务端等...
2022-04-26 10:59:04
96
原创 网络的概念
网络通信:两台设备通过网络进行数据的传输Java.net包下的类和接口帮助我们实现网络编程网络的概念:多台设备通过物理连接构成了网络网络的分类:局域网:范围最小,类似于家中的Wi-Fi 覆盖范围小城域网:顾名思义 可以覆盖一个城市的网络广域网:类似于万维网 覆盖范围最广Ip地址:用于唯一的定义网络中每台计算机的“身份证”...
2022-04-25 22:09:57
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人