Java基础
_sandy_
这个作者很懒,什么都没留下…
展开
-
java基础:lambda表达式整理
Lambda表达式格式(参数列表)->{方法体;return 返回值}(参数列表)相当于方法的参数,如果没有参数,那么只写()即可->是固定用法,代码用前面括号中的参数去去做什么事{}大括号先写计算过程,如果有返回值则return,如果没有返回值return可以省略省略格式参数类型可以省略如果参数只有一个,那么小括号可以省略如果大括号中只有一句代码,则大括号、return语句和分号可以省去。什么时候能使用lambda表达式?替换有且只有一个抽象..原创 2020-08-24 16:02:00 · 122 阅读 · 0 评论 -
java基础:Stream学习整理
流操作组成一个流管道。流管道包含一个源,这个源可能是一个数组array,一个集合Collection,一个生成器函数,io管道等;0个或者更多的中间操作,这些操作将流转换为另一种流,比如filter(Predicate);大部分的流操作接收一些参数用来描述用户指定的行为,参数一般是函数接口对象或是lambda表达式,或是方法引用。流是懒加载的,仅仅是调用这些方法,并没有真正的开始流的遍历。一个流只能操作一次,遍历过一次后就用完了.流有关闭方法,但一般不需要手动关闭。只有员数据是IO流时,原创 2020-08-24 15:56:04 · 1465 阅读 · 0 评论 -
java基础:Optional学习整理
Optional相等于一个容器类,类中封装了一个对象,即为属性 value,value可能是null也可能有值。主要用来解决NullPointerException问题;1,构造构造函数都是私有方法,有两个一个有参一个无参数;//无参构造器private Optional() { this.value = null; }//有参构造器,参数如果为null会抛出NullPointerException异常private Optional(T value) {原创 2020-08-21 15:11:17 · 216 阅读 · 0 评论 -
java基础:学习、使用函数式接口
@FunctionalInterface注解的类为函数接口如java.utll包中的Comparatorjava.util.function包中的Consumer,Supplier等如何使用?1,使用接口实现方法2,使用lambda表达式3,使用方法引用 List<String> list = Arrays.asList("aa","bb","cc"); list.forEach(new Consumer<String>() {原创 2020-08-21 14:23:01 · 166 阅读 · 0 评论 -
hashMap:基本原理
1,hashMap概述基于哈希表的map接口的非同步实现,允许null值和null键,但是不能保证映射的顺序,特别是顺序的恒久性,也就是每次访问获取的顺序可能都是不一样的。相当于Hashtable,只不过是非同步的2,数据结构底层是一个数组transient Node<K,V>[] table;数组中的元素又是一个链表,元素为Node<k,v>,是Map.Entry接口的实现,元素中有一个key-value对还有一个指向下一个元素的引用(类似链表操作)原创 2020-08-05 11:01:41 · 99 阅读 · 0 评论 -
hashMap:hash冲突
1,hash值?在java中通过超级父类Object的hashCode()方法来获取,此方法调用本地方法,取到的是对象再内存中的地址,一个32位的值。当然实际应用中类可以重写此方法,所以对象的hashCode值不是唯一的,不同的对象可能有一样的值。这里又涉及对象equals()方法的重写;一般认为hashCode相同的两个对象相等。2,hash冲突?1)不同的对象的hashCode值相等2)某些通过使用hashCode计算出的结果相同比如,hash值简化为8位,对象A的ha...原创 2020-08-04 17:14:16 · 151 阅读 · 0 评论 -
内部类的小节
1,一个类定义在另一个类中称为内部类 1)如果内部类是用public修饰 public class Outer{ private String outParam; public class Inner{ private String innerParam; ...原创 2018-09-21 14:30:43 · 90 阅读 · 0 评论