
Java
away.....
Nothing you can not learn.
展开
-
Java实现双向链表
1、双向链表 1.1 双向链表的每个节点组成包含节点数据,上一个节点(pre),下一个节点(next) 1.2 双向链表节点结构 class Node { //节点数据data int data; Node pre; Node next; public Node(int data) { this.data = data; } public Node() { super(); } } 2、双向链表的增删改查(crud) 2.1 双向链表的增删改查 publ原创 2021-06-26 17:28:01 · 1560 阅读 · 0 评论 -
ArrayList扩容问题
1、ArrayList.add方法 1.1、ensureCapacityInternal minCapacity是add方法中传入的size+1的值 calculateCapacity返回的是10或者minCapacity的值, 如果待扩展的容量大于数组长度,则要调用grow方法扩展容量 grow方法具体操作容量的扩展 数组容量要扩展1.5倍(原长度加上原长度右移一位即0.5倍), 若扩展1.5倍后还不够数组增加的内容,则数组容量就为数组增加的内容长度, 若扩展长度大于int类型最大值,则扩展容原创 2021-06-16 19:34:25 · 1031 阅读 · 0 评论 -
Java:字符串中a出现的次数
1、问题描述 求字符串"abcguegduauwdakolaa"中a出现的次数 2、题解 2.1 题解一 思路:每次返回当前下标,使用indexOf求当前下标的后一位到字符串结束出现的第一个a的下标 String s = "abcguegduauwdakolaa"; int count=0;//记录a 出现的次数 int index=-1;//记录a出现的下标 while(true) { index =s.indexOf("a", index+1);//字符串中没有a,返回-1 if原创 2021-06-15 11:43:54 · 2132 阅读 · 0 评论 -
equals和==的区别
equals和==区别原创 2021-06-11 12:01:09 · 215 阅读 · 1 评论 -
Integer装箱和拆箱
1、自动拆箱和装箱 int a = new Integer(10);//自动拆箱 Integer i1 = 10;//自动装箱 2、自动装箱后内存地址不一致原因 前提:==是用来判断内存地址是否一致 Integer i1 = 10;//自动装箱 Integer i2 = 10;//自动装箱 /** * 根据源码可知,当值在-128和127之间时,会创建一个cache数组存放向上转型后的Integer对象,然后由于 cache是静态代码块中的,所以cache数组创建后是稳定不变的,所以10在-12原创 2021-06-11 11:51:43 · 610 阅读 · 1 评论 -
java实现单链表
1、节点结构 class Node{ // 节点数据 int data; // 节点的下一位 Node next; //构造函数 public Node(int data) { this.data = data; } } 2、单链表结构和增删改查 package com.trainquestion.progress.singlelist; import java.util.Iterator; public class LinkList impleme原创 2021-06-11 11:25:46 · 1174 阅读 · 1 评论