1. Descripción general del marco de la colección Java
Java SE incluye un Marco de Colección Java (JCF) compuesto por un conjunto de clases e interfaces. Su función principal es organizar datos almacenados en una determinada estructura y acceder a estos datos de manera específica. Su objetivo es proporcionar un marco general para procesar colecciones de objetos y reducir la cantidad de codificación que los programadores usan al procesar diferentes colecciones de objetos.
Algunas diferencias en las clases de recolección, además de si admiten operaciones de elementos duplicados, incluyen si los elementos están en orden y si se permiten agregar elementos nulos. Según estas tres diferencias en el marco de colección Java, los métodos de almacenamiento de los objetos se dividen en tres tipos, a saber:
Para apoyar las operaciones de clasificación y acceso transversal de objetos, se proporcionan varias interfaces en el marco de colección Java:
2. interfaz de colección e interfaz iterator
Algunos métodos básicos compartidos por los objetos de recolección se definen en la interfaz de colección.
| método | describir |
| Tize int () | Devuelve el número de elementos contenidos en la colección actual |
| isEmpyt () | Determinar si el conjunto contiene elementos |
| booleano contiene (objeto o) | Determinar si un elemento especificado está contenido en la colección |
| Agregar (objeto o) | Agregar un elemento a la colección |
| eliminar (objeto o) | Eliminar un elemento de la colección |
| Iterador iterador () | Devuelve un recorrido para acceder a varios elementos en la colección |
La interfaz Iterator es una interfaz utilizada para atravesar una colección.
| método | describir |
| Hasnext () | Si hay más elementos en la colección, el método devuelve verdadero |
| próximo() | Devuelve el siguiente elemento en la colección |
| eliminar() | Eliminar el último elemento devuelto por el iterador |
1. Interfaz de la lista
La interfaz de la lista se hereda de la interfaz de recopilación, y tiene las siguientes características:
Las clases de implementación más utilizadas para la interfaz de lista son la clase ArrayList y la clase LinkedList.
1) .ArrayList
Ejemplo del programa:
paquete lei; import java.util.arrayList; import java.util.list; Prueba de clase pública {public static void main (string [] args) {list list = new ArrayList <> (); list.add (1); list.add ("Zhangsan"); list.add (falso); list.add ('a'); list.add (0, "lisi"); list.add (1); list.remove (1); list.remove (2); list.set (0, "wangwu"); for (int i = 0; i <list.size (); i ++) {system.out.println (list.get (i)); }}}El método igual () definido por la clase de objeto devolverá verdadero solo cuando el objeto pase al método y el objeto que llama al método es el mismo objeto. Dos objetos con el mismo estado pueden considerarse como el mismo objeto sobrescribiendo el método igual ().
2) .linkedlist
| método | describir |
| nulo addfirst | Agregue un objeto al comienzo de la lista vinculada |
| Vacío Addlast | Agregue un objeto al final de la lista vinculada |
| getFirst () | Devuelve el primer elemento en la lista vinculada |
| getLast () | Devuelve el último elemento en la lista vinculada |
| removeFirst () | Eliminar el primer elemento en la lista vinculada |
| removelast () | Eliminar el último elemento en la lista vinculada |
Ejemplo del programa:
paquete lei; import java.util.linkedlist; import java.util.list; public class test2 {public static void main (string [] args) {LinkedList l = new LinkedList <> (); L.Add ("Zhangsan"); l.Add ("lisi"); L.Addfirst (1); L.Addlast (4); System.out.println (l.getFirst ()); System.out.println (l.getLast ()); L.RemoveFirst (); l.removelast (); for (int i = 0; i <l.size (); i ++) {system.out.println (l.get (i)); }}}Selección de LinkedList vs. ArrayList
Si se debe acceder rápidamente a la lista, pero no inserta y elimina elementos con frecuencia, será mejor seleccionar ArrayList; Si la lista debe ser insertada y eliminada con frecuencia, entonces debe seleccionar LinkedList.
2. Interfaz de conjunto
La interfaz establecida hereda de la interfaz de colección y también hereda todos los métodos de la interfaz de recopilación. La interfaz establecida tiene las siguientes características:
Los más utilizados para implementar la interfaz establecida son la clase hashset y la clase TreeSet.
1) .hashset
La clase hashset es una implementación de interfaz establecida basada en el algoritmo hash. Tiene las siguientes características:
Si la clase que escribimos redefine el método igual, entonces esta clase también debe redefinir el método hashcode () y asegurarse de que cuando el resultado de los dos objetos se compara con el método igual, los valores de retorno del método hashcode () de los dos objetos sean iguales.
Ejemplo del programa:
paquete lei; import java.util.hashset; import java.util.set; public class test4 {public static void main (string [] args) {set <tring> set = new Hashset <String> (); set.add ("zhangsan"); set.add ("lisi"); for (string s: set) {system.out.println (s); }}}2).
La clase TreeSet no solo implementa la interfaz de conjunto de clase, sino que también implementa la interfaz SortedSet, para asegurarse de que los objetos en la colección se clasifiquen en un determinado orden. Cuando se agrega un objeto a la colección de árboles de árbol, se inserta en una secuencia ordenada de objetos, pero este tipo no se clasifica en el orden en el que se agregan objetos, pero se clasifica de acuerdo con cierto algoritmo.
TreeSet clasifica elementos en el orden natural de los elementos, o los clasifica de acuerdo con el comparador proporcionado cuando se crea el conjunto. TreeSet admite dos métodos de clasificación: clasificación natural y clasificación personalizada.
3. Interfaz de mapas
La interfaz MAP (MAP) es otra interfaz importante en el marco de colección Java que es diferente de la interfaz de colección. Corresponde a una colección de relaciones correspondientes de claves a valores. Hay dos grupos de objetos en el contenedor de objetos de mapa, se utiliza un grupo de objetos para guardar la clave en el mapa, y el otro grupo se usa para guardar el valor. La clave y el valor pueden actualizar los datos de cualquier tipo de referencia. La clave no se puede repetir, pero el valor se puede repetir.
1) .hashmap
Hashmap es una implementación de la interfaz MAP basada en el algoritmo hash. Hashmap guarda sus llaves en la tabla hash para el mantenimiento, y las teclas son únicas. Sin embargo, HashMap no garantiza que las claves estén organizadas en un orden específico, especialmente que el pedido no cambia permanentemente.
La clase hashmap implementa la interfaz MAP, con todos los métodos de la interfaz del mapa.
Día del paquete1228; import java.util.*; clase pública HashMapDemo {public static void main (string [] args) {// crea un nuevo mapa de hashmap <string, string> map = new Hashmap <String, String> (); map.put ("a1", "xiao"); map.put ("b2", "xiaol"); map.put ("a4", "xiaosd"); map.put ("b1", "12a"); map.put ("a3", "1"); // Use Iterator para atravesar la clave y el valor System.out.println ("Antes de que el valor del mapa sea:"); Establecer <String> Keys = MAP.KeySet (); for (iterator <String> i = keys.iterator (); i.hasnext ();) {string key = I.Next (); Valor de cadena = map.get (clave); System.out.println (clave + "=" + valor); } // Eliminar el valor con la clave "A4" System.out.println ("/ndelete el elemento con el valor de clave A4"); map.remove ("A4"); // // Use Iterator para atravesar las teclas y valores System.out.println ("/n Map Value After:"); teclas = map.keyset (); for (iterator <String> i = keys.iterator (); i.hasnext ();) {string key = I.Next (); Valor de cadena = map.get (clave); System.out.println (clave + "=" + valor); }}}2) .Treemap
La clase TreeMap es una implementación de interfaz de mapa basada en el algoritmo de árbol rojo y negro. El método de almacenamiento de claves en Treemap es similar al TreeSet. Almacena las llaves en un árbol, y el orden de las llaves está organizado en orden natural o orden personalizado.
Ejemplo del programa:
Día del paquete1228; import java.util.*; public class TreeMapDemo {public static void main (string [] args) {// Cree un nuevo mapa de treemap <Integer, string> map = new Treemap <Integer, String> (); map.put (1, "uno"); map.put (2, "dos"); map.put (3, "tres"); map.put (4, "cuatro"); map.put (5, "cinco"); // Use Iterator para mostrar las teclas y valores System.out.println ("El valor del mapa anterior es:"); Establecer <Integer> Keys = MAP.KeySet (); for (clave de objeto: teclas) {string value = map.get (key); System.out.println (clave+"="+valor); } // Eliminar el valor de Key 3 System.out.println ("/ndelete el elemento con el valor de la clave 3"); map.remove (3); // Use Iterator para mostrar la tecla y el valor System.out.println ("/nthe value después del mapa es:"); for (clave de objeto: teclas) {string value = map.get (key); System.out.println (clave+"="+valor); }}}Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea de ayuda para el estudio o el trabajo de todos. ¡También espero apoyar a Wulin.com más!