为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • Set中的contains()方法同时调用hashCode()和equals()方法,需要重写hashCode()和equals()两个方法。 list中不需要重写hashCode()方法。 Set的contains方法,先调用hashCode方法,如果hashCode相同,才会调用equals方法
    查看全部
  • 关于List类的contains()方法: 1. contains(元素)方法的工作原理是遍历整个List表,然后用equals()判断这个元素对象是否和其中一个对象相等。注意:这里是两个对象的equals()判断。 这样,新创建一个“看起来”被包含在内的元素,contains()的结果还是false。 2. 想要让contains()方法按照自己的想法起作用,就要重写元素类的equals()方法。 判断如果两个元素的内容相等,就返回相等。 3. containsAll(多个元素)的用法也需要用到Arrays.asList(元素数组) 表的其他操作:判断表中的是否包含某元素 一、List查询表中是否包含某个元素:使用contains(element e),判断是否包含多个元素:containsAll(Collection<?> c)。 1、存在返回true 反之返回false 2、实现原理是遍历表中元素,依次利用equals(object obj)比较【目标地址】,所以新建的同名对象会返回false 3、可以通过重写equels()方法,来通过比较【目标属性】来比对是否存在 二、Set表中查询也是用contains()和containsAll() 1、contains()的实现机制是通过调用每个元素的hashCode()返回hash码,再利用equals()判断两个哈希码是否相同,才能判别是否相同。 2、重写hashCode()和equals()方法,可以通过比较元素的属性进行比较。【通过系统的Generate hashCode() and equals()进行自动重写】 ==: * 如果操作的是基本数据类型的数据,比较的数值是否相等 * 如果操作的是引用数据类型的数据,比较的地址值是否相等 equals: * 只能够比较引用数据类型的数据, 默认比较的是地址值是否相等 * 默认的比较方式通常来说是没有意义的 * 我们需要重写此方法,让它来比较两个对象中的内容是否一致
    查看全部
  • Map中添加一个映射的方法是put(key,value) 修改一个映射的方法也是put(key,value) 这里为了在输入不存在ID后可以继续输入ID,用到了while(true)死循环,并根据情况continue和break 如果要实现输入 quit 退出,则把break放在if(console==quit) 循环里
    查看全部
  • Entry是Map的一个内部类,Set<Entry<String,Student>> entrySet = students.entrySet(); Map增删改查: 增:map的put(key,value)方法添加。 查:1.利用keyset()方法获得Map中key的集合,再遍历key的集合,利用Map的get(key)方法得到key对应的value值。 2.利用EntrySet方法获取May中Entry对象集:然后用foreach遍历集,再用Entry集的getkay()和getvalue()方法得到每一个key值和value值。 删:remove(object key) 改:put(原有的key,新的value) 通过entrySet可以返回Map中的所有键值对 Set<Entry<String,Student>>entrySet = students.entrySet();
    查看全部
  • Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法 Map支持泛型,形式如:Map<K,V> HashMap类 HashMap是Map中的一个重要的实现类,也是最常用的,给予哈希表实现 HashMap中的Entry对象是无序排列的 Key值和Value值都可以为Null,但是一个HashMap只能有一个key值为Null的映射(key值不可重复) student.get(ID)是采用Map的get()方法,检测是否存在值为ID的学生,如果没有,则返回null. keySet()方法,返回所有键的Set集合。 取得Map的容量可用size()方法。 keyset()返回Map中所有的key以集合的形式可用Set集合接收,HashMap当中的映射是无序的。 students.get(ID)是采用Map的get()方法
    查看全部
  • Map和HashMap Map接口 Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value Map中的键值对以Entry类型的对象实例形式存在 键(key值)不可重复,value值可以 每个键最多只能映射到一个值
    查看全部
  • 如果要对list中多个元素进行操作时,先将要操作的元素取出放入一个数组中,然后利用Arrays工具类中的asList(数组名)方法进行操作。如对多个元素进行删除时: Course[] coures={(Course)coursesToSelect.get(4),(Course)coursesToSelect.get(5)}; coursesToSelect.removeAll(Arrays.asList(courses)); 删除的方法: 1.利用目标删除, Course cr = coursesToSelect.get(index); //通过get方法获得目标 coursesToSelect.remove(cr);//通过remove方法删除 2.利用目标位置删除 coursesToSelect.remove(index);//直接通过目标位置删除 3.removeAll方法 Course[] courses = {(Course)new courseToSelect.get(1),(Course)new courseToSelect.get(2)};//先创建数组,元素由get方法获得目标,并强制转换成Course类 coursesToSelect.removeAll(Arrays.asList(courses));//将数组通过Arrays.asList转换成list类removeAll方法删除。 数组转换成list类要用到Arrays.asList(数组) boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
    查看全部
  • 修改List中的元素:用List中的set(int index,Object element)方法 前者表示索引位置,后者表示新对象 set(inde,value)方法进行修改
    查看全部
  • 三种方法都是用来取出List中元素的方法: -----for循环----- public void testGet(){ int size=coursesToSelect.size(); for(int i=0;i<size;i++){ Course cr=(Course) coursesToSelect.get(i); System.out.println("取出的课程:"+cr.getId()+":"+cr.getName()); } } -----迭代器----- Iterator是一个接口,依赖于集合存在的 Iterator it=courseToSelect.iterator(); while(it.hasNext()){ Course cr=(Course) it.next(); System.out.println("课程:" + cr.id + ":" + cr.name); } -----for each(增强for循环)----- 凡是继承了Iterable接口的类所生成的对象都可以用for/each循环 for(Object obj:coursesToSelect){//遍历集合中的每一个元素,作为每一个Object变量 Course cr=(Course) obj; System.out.println("课程:" + cr.id + ":" + cr.name); }
    查看全部
  • List是接口,所以在构造方法中不能直接实例化,而通过ArrayList()实例化。 例:public List coursesToSelect = new ArrayList(); 调用Add()方法添加到List中。有两种方法: 方法1:直接添加,例:CoursesToSelect.add(cr1); 方法2:可以指定添加的位置,例:CoursesToSelect.add(0,cr1); 使用get()方法取出一个对象,当一个对象被添加到集合中去的时候,它会被忽略掉类型,而都变成Object类型,取出时需要类型转换。 例:Course temp = (Course)coursesToSelect.get(0); 如果添加到List中的长度大于他目前的长度,则系统会出现异常,即数组下表越界异常
    查看全部
  • 重写某个类的equals方法的模板
    查看全部
  • Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法 Map支持泛型,形式如:Map<K,V> HashMap类 HashMap是Map中的一个重要的实现类,也是最常用的,给予哈希表实现 HashMap中的Entry对象是无序排列的 Key值和Value值都可以为Null,但是一个HashMap只能有一个key值为Null的映射(key值不可重复)
    查看全部
  • Map和HashMap Map接口 Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value Map中的键值对以Entry类型的对象实例形式存在 键(key值)不可重复,value值可以 每个键最多只能映射到一个值
    查看全部
  • 集合两种接口Collection和Map以及它们的具体实现类
    查看全部
  • 泛型的list可以添加泛型子类的实例
    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!