- 博客(11)
- 收藏
- 关注
原创 稀疏数组(将二维数组压缩保存)
思路分析:先创建二维数组(11*11),设几个非0数。然后遍历,统计多少个非0数。注意,在稀疏数组中,我峨嵋你需要的信息是1,二维数组的行列数。2,非0数的信息代码如下:public static void main(String[] args) { //创建二维数组 int[][] chessArr = new int[11][11]; //将二维数组第1,2位置设为1,第2,3位置设为2 chessArr[1][2] = 1;
2022-02-12 22:18:34
256
原创 一道关于HashSet的题
代码如下:class Person { private int id; public String name; public Person(int id, String name) { this.id = id; this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true;
2022-02-12 06:02:38
225
原创 开发中如何选择集合实现类?
1.先判断存储的类型(一组对象,或者是一组键对)2.若为一组对象,则选择Collection接口(1)若允许重复选List,增删多:LinkedList(底层维护一个双向链表)改查多:ArrayList(底层维护Object可变数组)(多线程选择Vector,但效率会降 低)(2)不允许...
2022-02-12 03:27:39
348
原创 HashMap六种遍历方式的实例
创建Employee类,属性有name,salary,id,创建HashMap,k为id,v为对象。遍历HashMap并显示工资>18000的员工。首先,创建Employee类class Employee { private String name; private Double salary; private int id; public Employee(String name, Double salary, int id) { this.na
2022-02-11 23:41:59
365
原创 hashMap六种遍历方式
hashMap的一堆k-v放在HashMap$Node,其类型为EntrySet<entry>.而其中的k为set类型,v为collection类型。所以在遍历的时候,第一种方法是可以先取出key,用set的方法遍历key再找到value。第二种方法使直接用map的getValue,再用collection的方法遍历。第三种是通过EntrySet来获取k-v。具体实现代码如下:public static void main(String[] args) { HashMap h
2022-02-11 07:37:56
424
原创 模拟数组+链表
首先,定义一个Node类class Node{ Object item;//store data Node next; public Node(Object item, Node next) { this.item = item; this.next = next; }之后将链表存放进数组:public static void main(String[] args) { //create a Node array
2022-02-11 04:43:13
121
原创 双向链表模拟
首先创建一个node的类class Node{ public Object item; //真正存放内容 public Node next; public Node pre; public Node(Object item) { this.item = item; } @Override public String toString() { return "Node{" +
2022-02-08 06:27:32
304
原创 String反转逻辑
public class ArraysL { public static void main(String[] args) { String str = "abcdef"; reverse(str, 1, 4); } public static void reverse(String str, int start, int end) { char[] chars = str.toCharArray(); char
2022-02-07 04:35:36
149
原创 bubbleSort
public static void main(String[] args) { Integer[] arr = {1, -1, 7, 0, 9, 5}; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) {
2022-02-07 02:59:19
271
原创 StringBuffer讲解及StringBuffer和String之间的关系
首先,StringBuffer是一个容器,用来存放字符,在StringBuffer创建的过程中,首先会在堆内存中指向一个value空间,这个value空间将会指向一个字符数组即 char[]。所以在修改StringBuffer的实例化对象时并不需要重新指向(在StringBuffer的允许长度内),这相对String来说大大提高了效率。(!!StringBuffer虽然没StringBuilder效率高但是在多线程是安全的(StringBuilder没有做互斥的处理),所以在单线程里选择使用StringBu
2022-02-07 00:32:49
336
原创 Integer<-->String
首先,实现对int类型数据的自动装箱Integer i = 100;之后,方式一:String str1 = i + “”;这种方式并不会将i转化为String类型,只是把数据“100”变成了String类型,i类型的本质仍然是Integer。第二种方式是用toString()方法,代码如下:String str2 = i.toString();第三种方法是String类型的方法valueOf():String str3 = String.valueOf(i);之后说说String
2022-02-06 08:50:04
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人