
java面试常见问题
qq_40181114
这个作者很懒,什么都没留下…
展开
-
深度优先遍历与广度优先遍历原理以及java实现
首先了解创建树以及进行树的连接的代码如下TreeNode tree1 = new TreeNode(1);TreeNode tree2 = new TreeNode(2);TreeNode tree3 = new TreeNode(3);TreeNode tree4 = new TreeNode(4);tree1.leftNode = tree2;tree1.rightNode = tree3;tree2.leftNode = tree4;深度优先遍历(Depth First Search原创 2021-01-21 17:22:43 · 299 阅读 · 0 评论 -
不借助第三个变量交换两个整数
int a = 10;int b =15;现在要求不借助第三个变量就做到交换俩个整数;第一种方法a=a-b;b=a+b;a=b-a;第二种方法a = a^b;b=a^b;a=a^b;原创 2021-01-21 16:24:49 · 141 阅读 · 0 评论 -
Hash实现相同Key赋值不会覆盖以及重写equals和hasCode()方法的原因和代码
Hash实现相同key赋值不会覆盖1.针对像String这样已经重写了equals和hashCode()方法的类主要方法就是写一个自己的HashMap类继承HashMap类,并重写它的put(方法public class MyHashMap<K> extens HashMap<K,String>(@overridepublic void put(K key,String value){ NewValue = value; if(**contain原创 2021-01-21 16:15:10 · 316 阅读 · 0 评论 -
2021-01-20
HashMap遍历的四种方法1.使用For-Each迭代entriesMap<String,String> map = new HashMap<String,String>(); for(Map.Entry<String,String> entry :map.entrySet()){ System.out.println(entry.getKey()+entry.getValue());}2.使用For-Each迭代key和valueMap<原创 2021-01-20 17:43:50 · 94 阅读 · 0 评论 -
equals和==的区别
(1)对于 == ,如果比较的是基本数据类型,则直接比较的是值是否相等,如果作用于引用类型的变量,则比较的是 引用指向的对象的地址。(2)equals 不可直接作用于基本数据类型的变量。如果没有重新equals()方法,则比较的是引用变量所指向的对象的地址,诸如String等重新了这个方法的类,则比较的是对象的内容。...原创 2021-01-20 16:06:47 · 104 阅读 · 0 评论 -
hashmap底层实现原理
map.put(k,v)实现原理(1)hashmap首先将(k,v)封装成node(节点类型)(2)然后调用k的hashcode()方法得出hash值(3)通过哈希表函数/哈希算法,将hash值转换成数组的下标,数组的下标位置如果没有任何的元素,就把node节点添加到这个位置上。如果这个位置上已经有链表就会用k和链表上的每个节点进行比较(调用equals()方法),如果所有节点equals()方法返回的都是false,那么就将这个新节点添加到链表尾,如果有一个节点返回了true,就把这个value值覆原创 2021-01-20 15:58:39 · 195 阅读 · 0 评论