老师为什么我按照视频写的代码总是报错?
package com.bjsxt.ljq; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test01 { public static void main(String[] args) { //创建集合对象,实现new实现类 List list = new ArrayList(); //add(Object obj) list.add("hello"); list.add(123);//自动装箱(包装类) list.add(new Scanner(System.in)); //(2)集合中元素的个数Size() System.out.println(list.size()); System.out.println("集合是否为空:"+list.isEmpty()); //(3)addAll(Collection c) List list2 = new ArrayList(); list2.add("hello"); list2.add(123); list.addAll(list2); System.out.println("list集合中元素的个数:"+list.size()); System.out.println(list); //删除 System.out.println("根据对象去删除"); list.remove("hello"); System.out.println(list); list.remove(123); //认为123是索引 list.remove(new Integer(123)); System.out.println(list); list.remove(0); //根据索引去删除 System.out.println(list); list.add("world"); list.remove(list2); //判断 System.out.println("hello在集合中是否存在:"+list.contains("hello")); } }
老师,我的这个他只能实现两两互聊,不能实现多人一起聊天,我对照视频看了好几遍了,也没发现问题,您能帮我看一下吗?实在是找不出错误
聊天.zip
package com.bjsxt.Set_TreeSet; import java.util.Comparator; public class ComCharactorAndAge implements Comparator { @Override public int compare(Object o1, Object o2) { Person p1 = (Person) o1; Person p2 = (Person) o2; if (p1.getName().compareTo(p2.getName()) < 0) { return -1; } if (p1.getName().compareTo(p2.getName()) > 0) { return 1; } if (p1.getName().compareTo(p2.getName()) == 0) { return p1.getAge() - p2.getAge(); } return 0; } }
还是不理解p1与p2名字相等时候比较age的方法用p1.age-p2.age
if (p1.getName().compareTo(p2.getName()) == 0) { return p1.getAge() - p2.getAge(); }
package com.bjsxt.Set_TreeSet; import java.util.Comparator; public class ComCharactorAndAge implements Comparator { @Override public int compare(Object o1, Object o2) { Person p1 = (Person) o1; Person p2 = (Person) o2; if (p1.getName().compareTo(p1.getName()) < 0) { return -1; } if (p1.getName().compareTo(p1.getName()) > 0) { return 1; } if (p1.getName().compareTo(p1.getName()) == 0){ return p1.getAge() - p2.getAge(); } return 0; } }
为什么我这么写if语句最后要再加个return 0;呢
老师那么写就不需要加 return 0;
package com.bjsxt.Set_HashSet; import java.util.Objects; public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public boolean equals(Object o) { System.out.println("equals"); if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Person person = (Person) o; return age == person.age && Objects.equals(name, person.name); } @Override public int hashCode() { System.out.println("hashcode"); return Objects.hash(name, age); } @Override public String toString() { return "name="+this.name+","+"age="+this.age; } } package com.bjsxt.Set_HashSet; import java.util.HashSet; public class TestPerson { public static void main(String[] args) { HashSet hs=new HashSet(); Person p1=new Person("marry",20); Person p2=new Person("lili",23); Person p3=new Person("marry",20); Person p4=new Person("jack",30); hs.add(p1); hs.add(p2); hs.add(p3); hs.add(p4); System.out.println(hs); } }
为什么我在HashSet方法创建自定义对象 在输出时直接输出HashSet对象 时如果不重写toString方法输出的就是Person对象的地址值呢
我看老师并没重写toString方法啊
final void join() 描述: 调用该方法的线程强制执行,其他线程处于阻塞状态,该线程执行完毕,其他线程在执行。
这里a1,和a2在抢占,主线程阻塞,跟这个描述不符合啊
老师UDP传输协议不需通过服务器,接收数据,在通过服务器发给指定目的吗
hashmap在创建自定义对象时需要重写hashcode和equals方法吗
字符串的compareTo方法比较字符串小于0返回-1,和大于0返回1代表什么意思呢?
compareto方法之前在哪学的?返回去找没找到
如果集合有序加入自定义对象的时候就需要定义比较器吗
如果底层数据结构为哈希表加入自定义对象就需要重写hashcode 和equals方法是吗
学的有点乱总结不过来
老师,eclipse里面怎么输入main就出来了public static void main(String[] args)的啊?
这个tostring方法是干嘛的呢 之前学的忘了
this.age是当前对象的年龄,p1.getAge();是传进来Object类型对象的年龄 那他两个不是一个吗?怎么还就升序了
老师idea重写方法的快捷键是什么?之前用的eclipse现在用了idea不会整了
什么是存储自定义对象作为key?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637