07 2021 档案

摘要:1.Map集合类型 Map :存储的键值对映射关系,根据key找到value HashMap:(1)采用哈希表存储结构(2)优点:添加,查询,删除速度快(3)缺点:key无序 LinkedHashMap:采用哈希表和链表存储结构(2)key有序(添加顺序) TreeMap:(1)采用二叉树(红黑树) 阅读全文
posted @ 2021-07-25 22:28 wlbsm 阅读(62) 评论(0) 推荐(0)
摘要:2.哈希表的原理 2.1哈希表的结构和特点 哈希表也叫散列表 特点:快 结构:有很多种,最流行、最容易理解的是:顺序表(数组)+链表 主结构:顺序表,每个顺序表的节点再单独引出一个链表 2.2哈希表是如何添加数据的(三步) (1)计算哈希码(调用hashCode()方法计算,返回int型,整数的哈希 阅读全文
posted @ 2021-07-24 22:48 wlbsm 阅读(483) 评论(0) 推荐(0)
摘要:HashSet (哈希表) 唯一,无序;添加、删除、查询速度快 LinkedHashSet (哈希表+链表) 唯一,有序(添加顺序);比哈希表慢点 TreeSet 红黑树(一种二叉平衡树)唯一,有序(自然顺序);查询速度(按内容查)比List快,没HashSet 哈希表快 List针对Collect 阅读全文
posted @ 2021-07-24 17:47 wlbsm 阅读(64) 评论(0) 推荐(0)
摘要:Java中栈和队列的实现类 Deque接口(双端队列)继承了队列Queue接口 Deque有两个主要的实现类:ArrayDeque(底层使用数组),LinkedList(底层使用双向链表) Queue也有两个主要的实现类:ArrayDeque(底层使用数组),LinkedList(底层使用双向链表) 阅读全文
posted @ 2021-07-23 20:51 wlbsm 阅读(916) 评论(0) 推荐(0)
摘要:LinkedList与ArrayList ArrayList有的方法LinkedList也有,执行结果一样,但底层和执行过程不一样。ArrayList底层是数组,执行list.add(2,3)时,需大量后移元素。LinkedList底层是双向链表,执行list.add(2,3)时,不需要大量后移元素 阅读全文
posted @ 2021-07-22 22:37 wlbsm 阅读(63) 评论(0) 推荐(0)
摘要:ArrayList底层是一个长度可以动态增长的Object数组(StringBuilder底层是一个长度可以动态增长的char数组) 接口可以一个方法也不提供,如RandomAccess, Cloneable, java.io.Serializable jdk1.7中,使用无参构造方法创建Array 阅读全文
posted @ 2021-07-21 22:45 wlbsm 阅读(97) 评论(0) 推荐(0)
摘要:List集合 List集合的主要实现有ArrayList和LinkedList,分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类:Deque和Queue。 List:有序,不唯一(可重复) ArrayList: 在内存中分配了连续的空间,实现了长度可变的数组(StringBuilder 阅读全文
posted @ 2021-07-20 23:33 wlbsm 阅读(487) 评论(0) 推荐(0)
摘要:一、集合引入 1.集合 ​ 当需要将相同结构的个体整合在一起时,可以考虑集合 2.为什么用集合不用数组 2.1集合和数组的相似点 ​ 都可以存储多个对象,对外作为整体存在 2.2数组的缺点 长度必须在初始化时固定,且固定不变 数组采用连续存储空间,删除和添加效率低下(删除一个元素时,元素需整体前移) 阅读全文
posted @ 2021-07-19 22:47 wlbsm 阅读(202) 评论(0) 推荐(0)
摘要:JDK1.5引入了枚举类型,枚举类中放一些常量,限制取值类型,如,性别如果用字符串很难限定其取值类型,采用枚举可以轻松解决 阅读全文
posted @ 2021-07-18 15:54 wlbsm 阅读(53) 评论(0) 推荐(0)
摘要:import java.util.Random; public class Demo01 { public static void main(String[] args) { // Random random = new Random(10); //如果new Random(种子参数)和nextIn 阅读全文
posted @ 2021-07-18 15:52 wlbsm 阅读(49) 评论(0) 推荐(0)
摘要:public class Demo01 { public static void main(String[] args) { System.out.println(Math.PI);//3.141592653589793 System.out.println(" 常用 "); System.out. 阅读全文
posted @ 2021-07-18 15:51 wlbsm 阅读(46) 评论(0) 推荐(0)
摘要:import java.time.Instant; import java.time.LocalDate; import java.time.format.DateTimeFormatter; /** * jak8新增 */ public class Demo02 { public static v 阅读全文
posted @ 2021-07-15 22:27 wlbsm 阅读(82) 评论(0) 推荐(0)
摘要:import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Demo01 { public static void main(String[] args) { C 阅读全文
posted @ 2021-07-15 22:23 wlbsm 阅读(58) 评论(0) 推荐(0)
摘要:DateFormat类 format():date转字符串 parse():字符串转date import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import 阅读全文
posted @ 2021-07-14 22:55 wlbsm 阅读(47) 评论(0) 推荐(0)
摘要:1.Date类基础方法: 除了date.getTime(),剩下的方法已过时 import java.util.Date; public class Demo01 { public static void main(String[] args) { Date date = new Date(); S 阅读全文
posted @ 2021-07-14 22:54 wlbsm 阅读(66) 评论(0) 推荐(0)
摘要:public class Demo12 { public static void main(String[] args) { String a="a"; String b="b"; String c="c"; String d="d"; String str="abcd"; //字符串拼接时,如果全 阅读全文
posted @ 2021-07-14 21:24 wlbsm 阅读(78) 评论(0) 推荐(0)
摘要:1.String效率和StringBuilder效率比较 从下面代码可以看出,同样在字符串“test”后面拼接一百万次,用String耗时98417毫秒,用StringBuilder耗时17毫秒。 因为String是不可变的,拼接时会复制一百万份数据在常量池中,但真正有用的只有一个,耗时长,浪费资源 阅读全文
posted @ 2021-07-13 23:27 wlbsm 阅读(60) 评论(0) 推荐(0)
摘要:3.String源码分析 1.String类被final修饰,不能有子类 2.String类底层是一个字符数组value,各种方法的操作其实都是对该数组的操作 3.字符串的比较 代码示例 public class Demo08 { public static void main(String[] a 阅读全文
posted @ 2021-07-08 23:00 wlbsm 阅读(74) 评论(0) 推荐(0)
摘要:字符的方法 Character.isDigit() 此方法判断字符是否是数字 public class Demo07 { public static void main(String[] args) { String str="12345a"; //字符串是否全是数字 for (int i = 0; 阅读全文
posted @ 2021-07-08 22:58 wlbsm 阅读(740) 评论(0) 推荐(0)
摘要:String字符串 1.字符串的比较 public class Demo01 { public static void main(String[] args) { String a="test"; String b="test"; System.out.println(a==b);//true,te 阅读全文
posted @ 2021-07-07 23:45 wlbsm 阅读(131) 评论(0) 推荐(0)
摘要:包装类 为什么要用包装类? 1.某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供了包装类 2.包装类提供了很多功能,如:获取基本类型范围的最大值,字节数的方法 3.可以实现字符串和基本数据类型间的转换 代码示例: public class Demo01 { public stati 阅读全文
posted @ 2021-07-05 22:25 wlbsm 阅读(51) 评论(0) 推荐(0)
摘要:static 静态变量和静态方法是和类一起加载的,访问时可以直接通过类名点调用。 非静态方法可以调用静态方法,但是静态方法不能调用非静态方法。因为静态方法是和类一起加载的,非静态方法只有在实例化后才能调用,在静态方法中调用非静态方法就相当于调用一个不存在的方法,会编译报错。 public class 阅读全文
posted @ 2021-07-04 17:12 wlbsm 阅读(56) 评论(0) 推荐(0)
摘要:java的三大特征 封装,继承,多态 封装 属性私有,get/set方法 继承 extends,java是单继承的,子类可以继承父类的非private方法和非private属性 在java中,所有的类都默认直接或间接的继承Object类 ctrl + h:查看父子继承结构 super 1.在子类构造 阅读全文
posted @ 2021-07-01 23:31 wlbsm 阅读(287) 评论(0) 推荐(0)