Map Collection
Map Interface Overview:
Java.util.map<k,v> interface: is a double-column collection
Features of the Map collection:
- is a double-column collection with two generic keys and value, using the same data type as key and value . can also be different
- Key is not allowed to repeat,value can be repeated;
- A key can only correspond to one value
Map Common Implementation class overview:
Java.util.hashmap<k,v> Collection implements Map<k,v> interface
features of the HashMap collection:
- The bottom layer is a hash table (array + one-way linked list): Fast query, delete quickly
- is an unordered collection
Common methods in the map interface:
- 1.V Get (key) returns the corresponding value value based on the key value , or null if the key value does not exist
- 2.V put (key, value); add elements to the collection (key and value)
-
- Note: When added, if key does not exist, the return value is null
- If the key already exists, the new value is replaced with the old value, and the old value is returned
- 3. V Remove (key); deletes the key value pair corresponding to the key value, or fails if key does not exist . The return value is nullif key exists and the delete succeeds, and the value returned is deleted
Map Traversal mode
- The first way: the way to find value by key:
There is a method in map:
Set <k> keySet (); returns the set set of keys contained by this map
Operation Steps :
1. Call the method KeySet in the map collection to take all the keys from the map collection and store them in the set set.
2. Iterate through the set collection to get every health in the map collection
3. get the value by means of the method get (key) in the map collection
You can use iterators with enhanced for loop traversal
Second way:map set Traversal key value mode
A method in the Map collection:
Set<map.entry<k,v>> EntrySet (); Returns a set view of the mappings contained in this map
Use steps
* 1. Using the method EntrySet in the Map collection , the key-value pairs (the key-value mappings ) are taken out to be stored in the set set
* 2. iterate through the set collection to get each entry object
* 3. use the methods in the Entry object Getkey and GetValue to get the health and value
You can use iterators with enhanced for loop traversal
HashMap Store Custom types:
Use HashMap to store custom class forms, because you want to guarantee the uniqueness of the key. Custom classes are required to override the hashcode () with the equals () method;
Linkedhashmap
Java.util.linkedhashmap<k,v> Collection extends hashmap<k,v> implements Map<k,v>
Characteristics:
1. The underlying is a hash table (array + unidirectional linked list)+ linked list
2. is an ordered set
Hashtable
the implementation class of Map Hashtable
The underlying data structure is a hash table , characterized by the same hashMap
Hashtable is a thread-safe collection that is single-threaded and slow to run
HashMap is a thread unsafe collection , multi-threaded , fast running speed
Hashtable Fate and Vector are the same, starting from JDK1.2 , replaced by the more advanced HashMap
HashMap allows null values to be stored , null
Hashtable does not allow null values to be stored, null
Hashtable His children, sub-category Properties are still active in the development stage
Properties
Java.util.Properties Collection extends Hashtable<k,v> collection
Properties Collection Features:
- The Properties collection is also a double-column set, with key and value already built into the string type
- the Properties collection is a combination of unique and IO streams
- Temporary data stored in the collection can be persisted to a file in the hard disk storage
- You can store the pair of key pairs in the file, read into the collection to use
Basic operations for the Properties collection: Adding data, traversing the collection
Both key and value have been built into string types. It contains some methods related to the String class.
- Object SetProperty (string key, String value) adds a key-value pair to the collection, calling the Hashtable method Put
- String GetProperty (String key), which is the value that is obtained by key, which is equivalent to the Get (key) method in the Map collection
- set<string > stringpropertynames () returns the keyset for this property list. Equivalent to the keyset () method in the Map collection ;
the Load method of the Properties class :
Key-value pairs stored in the file can be read into the collection using the
- void load (Reader reader)
- void load (InputStream instream)
- * Parameters:
- Reader Reader: character input stream, you can use FileReader
- InputStream instream: byte input stream, you can use FileInputStream
- *
- * Operation procedure:
- 1. Create a Properties collection Object
- 2. Create character input stream FileReader object , construct method to bind data source to read
- 3. use the method load in the Properties collection to read the key-value pairs stored in the file into the collection
- 4. Releasing Resources
- 5. traversing the Properties collection
- *
- * Note:
- 1. Stream uses the reader character stream to read Chinese data
- 2. stream using InputStream byte stream, can not operate Chinese, there will be garbled
- in the configuration file for the 3.Properties collection, You can use the comment line data, using the #
- in the 4.Properties collection configuration file, key and value are all strings by default, without adding "" ( Snake fill )
- in the 5.Properties collection configuration file, the connection symbols for key and value can be used =, or spaces can be used
the store method of the Properties class uses:
/*
* Can put the temporary data stored in the collection , persisted in the hard disk file storage
* Void Store (writer writer, String comments)
* Void Store (OutputStream out, String comments)
* Parameters:
* writer Writer: character output stream, can use FileWriter
* outputstream out: byte output stream, can be used FileOutputStream
* String Comments: comment, explain the stored file, cannot use Chinese ( garbled), the default encoding format is Unicode encoding
* You can use the empty string
* Operation procedure:
* 1. Create A Properties collection to add data to the collection
* 2. Create a character output stream FileWriter object , construct a method to bind the destination to write to
* 3. Call the method store in the Properties collection , storing the temporary data stored in the collection , persisting the hard drive 's text
* 4. Freeing Resources
*
* Note:
* 1. Stream using the writer character Stream , you can write the Chinese data
* 2. stream using OutputStream byte stream, can not operate Chinese, there will be garbled
* 3.Propertie collection of files stored, usually end with. Properties ( programmer default)
Variable parameters of the method
New features that appear after Jdk1.5
Role:
When defining a method, the type of the method parameter is determined, but the number is indeterminate, and variable parameters can be used
Format:
Modifier Returns a value type method name (data type ... Variable name){
}
Use Note:
-
- The underlying principle of a mutable parameter is an array
- Passing different number of parameters, will create a different length of the array, receive these parameters variable parameters of the method, when called, can not pass parameters, pass arbitrary parameters
Precautions:
- Parameter of a method, only one variable parameter can be defined
- If there are multiple arguments to the method, then the mutable argument must be written in the last digit of the list
Collections Collection Tool class
Java.util.Collections Collection Tool class
Collections Private parameterless construction method, the inside method is all static, through the class name can be directly used
Collections Common methods:
1. static void Shuffle (list<?> list) replaces the specified list with a default random source (disrupts the order of elements in the collection)
2.static void sort (list<?> list) sorts the specified list in ascending order according to the natural ordering of the elements (ascending sort of collection)
Java Learning Notes-collection of map collections