A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耀阳圣尊   /  2015-4-27 20:23  /  6819 人查看  /  135 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

Nemo 发表于 2015-6-21 10:54
java基础视频看了,当时也能敲出来,感觉也不错,但是现在学到基础的中间了,感觉前面的又有点不熟悉了。。 ...

经常对知识点做一下回顾、总结。有很多同学到面试的环节就是前面的基础掌握的不扎实,不细致。

希望我的回答能够帮助到您。您对我的回答是否感到满意呢?
回复 使用道具 举报
java的io流学习有没有什么好的技巧
回复 使用道具 举报
songwenju 发表于 2015-6-22 08:51
java的io流学习有没有什么好的技巧

我个人觉得,主要是弄懂循环那部分的代码就可以了。(比如,循环的终止条件,用数组传和不用有什么区别等等)其余的代码基本都是定式。


希望我的回答能够帮助到您。您对我的回答是否感到满意呢?如果满意的话,请回复一下非常感谢!
回复 使用道具 举报
Nemo 中级黑马 2015-6-22 13:06:33
104#
耀阳圣尊 发表于 2015-6-22 08:38
经常对知识点做一下回顾、总结。有很多同学到面试的环节就是前面的基础掌握的不扎实,不细致。

希望我的 ...

谢谢圣尊。。。。。
回复 使用道具 举报
你好,画荧光线这部分能讲解一下为什么吗?谢谢了
回复 使用道具 举报
帅帅loyal 发表于 2015-6-22 16:57
你好,画荧光线这部分能讲解一下为什么吗?谢谢了

它这个既不是重载也不是重写,就是一个类中的同名函数,所以说不行。

希望我的回答能够帮助到您。您对我的回答是否感到满意呢?如果满意的话,请回复一下非常感谢!
回复 使用道具 举报
耀阳圣尊 发表于 2015-6-22 18:15
它这个既不是重载也不是重写,就是一个类中的同名函数,所以说不行。

希望我的回答能够帮助到您。您对我 ...

很有帮助!一下就明白了,非常感谢:handshake
回复 使用道具 举报
赞,,,,,,,,,,,
回复 使用道具 举报
马上就要面试了,不知道该怎么办,求指教.....
回复 使用道具 举报
没看到问题,没明白什么用意啊?
回复 使用道具 举报
Nemo 中级黑马 2015-6-23 21:29:24
111#
class MyComp implements Comparator<Student>
{
public int compare(Student s1,Student s2)
{
int temp=s1.getName().compareTo(s2.getName());
if(temp==0)
return s1.getAge()-s2.getAge();
return temp;
}
}
在这个比较器类中,我们要复写其compare方法,主要条件是姓名,次要条件是年龄。
今天突然想到一个问题想不通,那就是如果我们比较一下两个对象
new Student("abc",22);
new Student("abc",30);
那么根据程序,返回的应该是-8。
如果我们比较另外两个对象
new Student("abc",22);
new Student("bbc",22);
那么返回的应该是-1
我的意思是既然不管比较名字还是年龄都是返回一个整数,那么这个返回值跟是否为主要条件有关系吗还?
回复 使用道具 举报
Nemo 中级黑马 2015-6-23 21:30:30
112#
  1. Map<Student,String> map=new TreeMap<Student,String>(new MyComp());
  2.                 map.put(new Student("abb",22),"北京");
复制代码


为什么我只添加了一个元素进TreeMap中,但是却调用了两次比较器的compare方法呢?不是应该从添加第二个元素才开始调用比较方法的吗
回复 使用道具 举报
hi潘 发表于 2015-6-22 20:07
马上就要面试了,不知道该怎么办,求指教.....

面试神马的不要着急,就是简单的问问基础,没有你想象的那么难。主要是心态,放轻松要不会的也答不出来了。
回复 使用道具 举报
Nemo 发表于 2015-6-23 21:29
class MyComp implements Comparator
{
public int compare(Student s1,Student s2)

当然是有关系了,如果没有返回值的话,你怎么能确保比价的结果呢。
回复 使用道具 举报
Nemo 中级黑马 2015-6-24 10:38:26
115#
耀阳圣尊 发表于 2015-6-24 10:23
当然是有关系了,如果没有返回值的话,你怎么能确保比价的结果呢。

可是不管是姓名是否相等,我都是返回一个数,而且这个数的大小只跟姓名比较或者年龄差有关,跟是否是主要条件有什么关系呢?你不能保证姓名作为主要条件,那么姓名的比较值就一定大于年龄差吧,如果姓名为主要,而且它的比较值小于年龄差那怎么办
回复 使用道具 举报
顶一个~~
回复 使用道具 举报
Nemo 发表于 2015-6-24 10:38
可是不管是姓名是否相等,我都是返回一个数,而且这个数的大小只跟姓名比较或者年龄差有关,跟是否是主要 ...

这个是先比较的名字 如果名字一样再比较年龄 如果年龄是一样的 那么返回值是 0 说明两个对象一样 如果 名字不一样 直接返回的是一个不是 0 的值 年龄不会比较
回复 使用道具 举报
Nemo 中级黑马 2015-6-24 20:50:29
118#
耀阳圣尊 发表于 2015-6-24 16:04
这个是先比较的名字 如果名字一样再比较年龄 如果年龄是一样的 那么返回值是 0 说明两个对象一样 如果 名 ...

哦哦,想明白了,谢谢
回复 使用道具 举报
为什么system.in关闭后,再调用时没法用了
回复 使用道具 举报
Nemo 中级黑马 2015-6-25 08:48:24
120#
我们都知道如果想向TreeSet或者TreeMap中存入多个自定义对象时,如果该自定义对象不具有可比性,
那么是会报错的,因此我们需要让对象实现Comparable接口,复写compareTo方法,但是我们也发现
那个错误是发生在第二次插入元素时,而不是第一次,这是否意味着第一次添加元素时是不会调用对象
的compareTo方法的,也不在乎对象是否具有可比性的呢?因为此时二叉树中不存在其他元素,所以
这种现象也是可以理解的,既然没有其他元素,那么就不需要比较,这也是我原本的想法,直到我学到
Map的时候无意发现的一个问题,如下:
  1. Map<Student,String> map=new TreeMap<Student,String>(new MyComp());
  2.                     map.put(new Student("abb",22),"北京");
复制代码

该代码只添加了一个元素到TreeMap中,我在比较器的compare(或者使用自定义对象的compareTo方法)方法中打印两个互相比较的对象,
主要用于观察调用了几次compare方法,运行图如下:


我们可以看到打印了两次:姓名:abb      年龄:22........姓名:abb      年龄:22..........0
这就代表着调用了两次compare方法,这是我不能理解的,而且根据观察发现,两次
都是拿仅有的一个元素自身跟自身在比较,这是为什么呢?这样比较目的是什么
同时最后遍历TreeMap也能确定确实只有一个元素
求大神指点。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马