学习Java(55)_HashSet类中的retainAll()方法使用

HashSet类中的retainAll()方法使用。

阅读全部

学习Java(54)_如何重写hashCode()和equals()方法

摘要:
1、重写hashCode()和equals()方法的具体步骤。
2、equals() 和 hashCode() 方法举例
重写hashCode()和equals()方法的具体步骤
HashSet、HashMap、HashTable带Hash的都要重写hashCode()和equals()方法,不重写就会出错。
TreeSet 和 TreeMap 不用重写hashCode()和equals()方法
注:任何一个类都有一个hashCode()方法,这是继承自Object类。
阅读全部

学习Java(53)_为什么要重写hashCode()和equals()方法

为什么要重写hashCode()和equals()方法
首先,要了解一个知识,散列码。散列码,Object中的hashCode方法会返回该对象的内存真实地址的整数化表示,这个形象的不是真正地址的整数值就是哈希码。(参考《数据结构》第九章查找中的哈希表小节)
HashSet中添加对象时,HashSet 先通过该对象的hashCode()计算出相应的地址(桶),然后再根据equals()方法找到相应的对象。如果容器中已存在该对象则不再添加,如果不存在,则添加进去。
阅读全部

学习Java(52)_hashCode()方法是什么

摘要:
1、代码实例测试hashCode()方法是什么
2、hashCode()方法的测试总结
在上一篇HashSet类中有这么一句话,存放入 HashSet 容器中的类必须实现 equals() 和 hashCode() 方法,equals() 方法在之前的学习Java(11)_equals()方法的用法和重写中已经讲过,现在使用代码实例来测试一下 hashCode() 方法是什么。
阅读全部

学习Java(51)_Comparable接口的功能和用法

摘要:
1、为何要使用Comparable接口。
2、Comparable接口的方法。
3、Comparable接口的代码操作演示。
Comparable接口
为何要使用Comparable接口
基本类型数据String类型数据,他们彼此的比较标准Java语言本身已经提供了。
用户自定义的类对象之间的比较标准,Java语言本身是没有提供的,而且也无法提供。
阅读全部

学习Java(50)_Collections类的功能和用法

摘要:
1、Collections类的功能。
2、Collections类常用算法。
3、Collections类代码演示。
Collections类
Collection接口的实现类,如ArrayListLinkedList本身并没有提供排序,倒置,查找等方法,这些方法是由Collections类来实现的,该类有很多public static方法,可以直接对Collection接口的实现类进行操作。
阅读全部

学习Java(49)_Collection的子接口_Set接口_HashSet

摘要:
1、Set 和 List 接口的区别。
2、Set 接口的特点
3、HashSet类的代码演示
Collection 接口的子接口——Set接口
因为Set和List都是继承自Collection接口,所以Set和List中有很多方法都是一样的
List接口中有add、set、indexOf方法,但是Set接口中却只有add方法,没有get,indexOf方法,因为Set是无序不能重复的,不存在某元素具体位置这个概念。
阅读全部

学习Java(48)_Collection子接口_List接口_LinkedList

摘要:
1、Java语言编写一个简单的链表
2、ArrayList 与 LinkedList 构造容器的区别和比较
LinkedList构造链表的例子,在外表上看,和上一篇ArrayList的例子是一样,只是它们内部实现的方式不同,本篇博文主要是看看,链表是如何来存储的:
阅读全部

学习Java(47)_Collection子接口_List接口_ArrayList

摘要:
1、List接口的作用
2、List接口常用方法
3、ArrayList的例子
List 接口
List接口是Collection的子接口,实现List接口的容器类中的元素是有顺序的,而且可以重复。
List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。
阅读全部

学习Java(46)_在容器中toString方法重写的必要性

容器中toString()方法重写的必要性
对任意类A,假设aa是该A类的一个实例
System.out.println(aa);等价于System.out.println(aa.toString());
Object类中含有toString方法
Java中所有的类默认都继承了Object的toString方法
建议所有的子类都重写toString方法
阅读全部