永发信息网

有没有类似剑指offer的java面试书

答案:1  悬赏:60  手机版
解决时间 2021-01-30 08:26
有没有类似剑指offer的java面试书
最佳答案
面试题1:赋值运算符函数
Java中不能重载运算符(C++可以)
String 类的“+”是通过StringBuidler的append追加实现的。
可以重写自定义类的toString()方法,对象相加时会调用toString()的方法。toString()是Object类具有的方法,而所有的类都继承自Object,所以所有的对象都有这个方法。
面试题2:实现Singleton模式
可行的解法1:双检测机制
public class Singleton {
private Singleton() {}
private static Singleton instance=null;
//静态工厂方法
public static Singleton getInstance() {
if (instance == null) {
//加上了同步锁和双重检验机制
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return single;
}
}
推荐解法1:静态内部类
public class Singleton {
private static class SingletonHolder {
private static final Singleton instance = new Singleton();
}
private Singleton (){}
public static final Singleton getInstance() {
//第一次调用getInstance,涉及到了SingletonHolder的引用,内部静态类的实例才会真正装载
return SingletonHolder.instance;
}
}
推荐解法2:在类创建的同时就实例化 singleTon
public class Singleton {
private Singleton() {}
private static final Singleton singleton = new Singleton();
//静态工厂方法
public static Singleton getInstance() {
return singleton;
}
}
1234567891011121314151617181920212223242526272829303132333435363738

面试题3:二维数组中的查找

public class test3 {

public boolean find(int[][] matrix,int value){
boolean found=false;
int rows=matrix.length;//行数
if (matrix!=null) {
int row=0;
int column=matrix[0].length-1;
while (row=0)
{
if (matrix[row][column]==value)
{
found=true;
break;
}
else if(matrix[row][column] {
row++;
}
else if(matrix[row][column]>value)
{
column--;
}
}
}
return found;
}
public static void main(String[] args) {
int[][] a=
{
{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,15}
};
boolean found=new test3().find(a, 7);
System.out.println(found);
}

}
123456789101112131415161718192021222324252627282930313233343536373839404142

面试题4:替换空格
public class test4 {
public String replaceBlank(String s){
int len=0;
char[] target;
char[] original=s.toCharArray();
for (int i = 0; i < original.length; i++)
{
if (original[i]==' ')
{
len++;
}
}
len=original.length+len*2;
target=new char[len];
int j=0;
for (int i = 0; i < original.length; i++)
{
if (original[i]==' ')
{
target[j]='%';
target[++j]='2';
target[++j]='0';
j++;
}else
{
target[j]=original[i];
j++;
}
}
return new String(target);//String类的构造函数 可以直接将Char数组转化为字符串
}
// public String replaceBlank(String s){
// return s.replace(" ", "%20");//利用String类的replace函数 基于正则表达式
// }
public static void main(String[] args) {
String s="we are happy!";
String v=new test4().replaceBlank(s);
System.out.println(v);
}
}
1234567891011121314151617181920212223242526272829303132333435363738394041

面试题5:从尾到头打印链表
public class test5{
private class Node{
T valueT=null;
Node next=null;
public Node(T valueT) {
this.valueT = valueT;
}
}
private Node head=null;
public Node getHeadNode(){
return head;
}
public void insertTail(T value){
Node nextNode=null;
if (head==null) {
head=new Node(value);
}else {
nextNode=head;
while (nextNode.next!=null)
{
nextNode=nextNode.next;
}
nextNode.next=new Node(value);
}
}

public void reversePrint(Node head){
if (head!=null)
{
if (head.next!=null)
{
reversePrint(head.next);
}
System.out.println(head.valueT);
}
}
public static void main(String[] args) {
int[] a={1,2,3,4,5,6,7};
test5 t=new test5();
for (int i = 0; i < a.length; i++) {
t.insertTail(a[i]);
}
t.reversePrint(t.getHeadNode());
}
}
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
防疲劳眼镜真的可以抗疲劳吗?哪个比较好?
本人手绘墙绘壁画油画,急需一台投影仪帮助快
我甲方在铺面租给乙方,乙方在装修过程中,乙
联合驾校(天津南开)地址好找么,我有些事要过
下面是“某地地质剖面图”。 读图回答题。【
资全的意思是什么啊?知道的请说下!
我有快递单号,怎幺查询买的什么东西??在哪
1kg=?g 1g=?mg
江苏以办物流公司为名拉人过去做投资是不是搞
淘宝订单评价的时候,提示主订单不能评价,为
儵然的意思是什么啊?知道的请说下!
属于长效糖皮质激素类的药物A.氢化可的松B.泼
德国啤酒什么牌子最好
html ur li 标签 怎么调用后台servlet 并传递
贷款二套房首付是多少
推荐资讯
成山轮胎总经销(几吉郎卡路)地址在什么地方,
招投标过程中 投标人要向甲方支付信誉保证金
如图:------------------------------------
南方地区哪里美女最多?
实木地板平铺用金刚柚木合适还是橡木合适?
将财政支出的内容分为经济建设、教育、医疗保
乔丹样品是不是没有鞋盒
下列关于对权利与义务关系认识正确的是:CA.
绍兴戏的意思是什么啊?知道的请说下!
看门狗2作弊器打开了,却用不了,怎么按也没
洁利朗洗衣连锁(大营店)地址有知道的么?有点
我要在网上洗照片不怎么怎么搞
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?