I recently used Java to write programs and found that these two functions are not well mastered. So I have been studying these functions for a long time.
The contains method is redefined to quickly check whether an element already exists in the set. He only looks for elements in a bucket, without having to view all elements in the set ." -- Core Java
When comparing whether a set contains an object, call t
equals ().The Hashcode () method in Objecct,The Hashcode () method acts as a hash of the object, and in the Hashmap,hashset,hashset collection, the effect of the random access element can be achieved. The use of hash values (Hashcode ()) reduces the number of comparisons between elements as much as possible.1 Public
One, the same pointare used to compare values or objects.Two, different pointsfor "= =", for the base type (Char,byte,short,int,long,float,double,boolean), the comparison is the value, so is equal, for the reference object, compared to the referenced object's heap address, for example: Public class Main { publicstaticvoidthrows interruptedexception { New Object (); New Object (); = = obj2);} }Note For wrapper classes such as Integer, there are some special.For the
same.Rewrite the sample code for Hashcode:
public int hashcode () {SOP (THIS.name + "... hashcode");return This.name.hashCode () + 29*age;}
Thirdly, what is the mechanism of ArrayList?[1]. HashSet judgment, deletion, and addition of elements are based on the hashcode () and
The content of this chapter mainly addresses the following issues:
What is the role of 1 equals ()?
What is the difference between 2 equals () and = =?
What is the role of 3 hashcode ()?
4 What is the connection between hashcode () and Equals ()?
Role of the 1th part
I need to record some of the things I saw in Sunday, or I'll forget about them.Hashcode, equals:1) Each Java object has the Hashcode and equals methods.The ultimate Java class is the object class, so how does the object class label itself, that is, how the class of object di
When to use Hashcode, when to use equals?First Java generates a default hashcode for each object, the Java core is the memory address of the Java object, but the Equals method compares
When learning Java basic data types and complex data types, especially equals () "= =" and the Hashcode () part, not very understand, also stayed a long time, finally a bit of a look.To understand equals () "= =" and Hashcode (), it's a good idea to first understand the heap
1.equals ()
In the beginner Java, many people will say that when comparing objects, = = is the comparison of the address, equals () is the content of the comparison object, who said?
Look at the definition of the Equals () method in the object class:
public boolean equals
In each class that overrides the Equals method, you must also overwrite the Hashcode method.General conventions for Hashcode:1 during the execution of a program, the Hashcode method must consistently return the same integer as long as the information used to compare the Equals
Value) is returned ).
If we want to get the expected results, we need to rewrite the toString method.
[Java]Package mark. demo;Public class EnumDemo {Public static void main (String [] args ){For (Color color: Color. values ()){System. out. println (color );}}Public enum Color {RED ("red color", 0), GREEN ("green color", 1), BLUE ("blue color", 2), YELLOW ("Yellow color", 3 );Color (String name, int id ){_ Name = name;_ Id = id;}Private String _ name
("") ; //System.out.println ("HashMap object hashcode:" + mi.hashcode ());Hm.put (HM, "XX") ; //get a value from HashMap using the Get method of HashMap /** 1. Calculate its hash value according to the object passed in, and find the corresponding array position. * 2. The Equals method is used to determine whether the value on the array position is equal to the value. * 3. Equal retur
Download Java interview book:Http://download.csdn.net/source/3563084
Set and list are two sub-interfaces of collection. The elements in set must be unique. Therefore, the equals method must be rewritten. For the hashset method, the hashcode method must be rewritten.
When an element is added to a hahset, It is not added to determine whether the element already ex
There are three methods in the object class in Java that have hashcode (), Equals (), and toString (), so there are three methods in all the classes in Java.In the object class the implementation of the ToString () method is the address of the printed object, which is printed out of the human can not understand, this information is not useful to print out. So in
In Java, equals and hashcode have design requirements, equals equal, then hashcode must be equal, or vice versa. Why is there such a requirement? In the collection, such as HashSet, the object required to be placed can not be repeated, how to determine it? The
);System.out.println (p1); Output 16 Binaryperson P2 = new Person ("Zhang Shan", 20);System.out.println ("Hascode of the object of the P1:" +p1.hashcode ());//output is a decimal dataSystem.out.println ("Hascode of the object of the P1:" +p2.hashcode ());//output is a decimal dataSystem.out.println ("-----------------------");System.out.println (P1 = = p2);System.out.println ("Two objects are equal:" +p1.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.