1. Java Collection Framework Übersicht
Java SE enthält ein Java Collection Framework (JCF), das aus einer Reihe von Klassen und Schnittstellen besteht. Die Hauptfunktion besteht darin, gespeicherte Daten in einer bestimmten Struktur zu organisieren und auf diese Daten auf eine bestimmte Weise zuzugreifen. Sein Ziel ist es, einen allgemeinen Rahmen für die Verarbeitung von Objektsammlungen bereitzustellen und die Menge an Codierung zu verringern, die Programmierer bei der Verarbeitung verschiedener Objektsammlungen verwenden.
Einige Unterschiede in den Sammlungsklassen, zusätzlich ob sie doppelte Elementoperationen unterstützen, umfassen, ob die Elemente in Ordnung sind und ob Nullelemente hinzugefügt werden dürfen. Nach diesen drei Unterschieden im Java -Sammlungs -Framework sind die Speichermethoden von Objekten in drei Typen unterteilt, nämlich:
Um die Sortier- und Traversal -Zugriffsvorgänge von Objekten zu unterstützen, werden im Java -Sammel -Framework mehrere Schnittstellen bereitgestellt:
2. Collection -Schnittstelle und Iteratorschnittstelle
Einige grundlegende Methoden, die von Sammlungsobjekten geteilt werden, werden in der Sammlungsschnittstelle definiert.
| Verfahren | beschreiben |
| int size () | Gibt die Anzahl der in der aktuellen Sammlung enthaltenen Elemente zurück |
| isempyt () | Bestimmen Sie, ob der Satz Elemente enthält |
| Boolesche enthält (Objekt O) | Bestimmen Sie, ob ein bestimmtes Element in der Sammlung enthalten ist |
| add (Objekt O) | Fügen Sie der Sammlung ein Element hinzu |
| entfernen (Objekt O) | Löschen Sie ein Element aus der Sammlung |
| Iterator Iterator () | Gibt einen Traverser zurück, um auf verschiedene Elemente in der Sammlung zuzugreifen |
Die Iterator -Schnittstelle ist eine Schnittstelle, mit der eine Sammlung durchquert wird.
| Verfahren | beschreiben |
| HasNext () | Wenn in der Sammlung mehr Elemente vorhanden sind, gibt die Methode wahr zurück |
| nächste() | Geben Sie das nächste Element in der Sammlung zurück |
| entfernen() | Löschen Sie das letzte von Iterator zurückgegebene Element |
1. Liste Schnittstelle
Die Listenschnittstelle wird von der Sammlungsschnittstelle vererbt und hat die folgenden Eigenschaften:
Die am häufigsten verwendeten Implementierungsklassen für die List -Schnittstelle sind die ArrayList -Klasse und die LinkedList -Klasse.
1) .ArrayList
Programmbeispiel:
Paket Lei; Import Java.util.ArrayList; importieren java.util.list; public class test {public static void main (String [] args) {listlist = new ArrayList <> (); list.add (1); list.add ("Zhangsan"); list.add (false); list.add ('a'); list.add (0, "Lisi"); list.add (1); list.remove (1); list.remove (2); list.set (0, "wangwu"); für (int i = 0; i <list.size (); i ++) {System.out.println (list.get (i)); }}}Die von der Objektklasse definierte Equals () -Methode gibt nur dann zurück, wenn das Objekt an die Methode übergeben und das Objekt, das die Methode aufruft, dasselbe Objekt ist. Zwei Objekte mit demselben Zustand können als dasselbe Objekt angesehen werden, indem die Methode Equals () überschreiben.
2). LinkedList
| Verfahren | beschreiben |
| void Addfirst | Fügen Sie am Anfang der verknüpften Liste ein Objekt hinzu |
| Leere Addlast | Fügen Sie am Ende der verknüpften Liste ein Objekt hinzu |
| GetFirst () | Geben Sie das erste Element in der verknüpften Liste zurück |
| getLast () | Geben Sie das letzte Element in der verlinkten Liste zurück |
| removefirst () | Löschen Sie das erste Element in der verlinkten Liste |
| removelast () | Löschen Sie das letzte Element in der verlinkten Liste |
Programmbeispiel:
Paket Lei; import Java.util.linkedList; importieren 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 (); für (int i = 0; i <l.size (); i ++) {System.out.println (l.get (i)); }}}Auswahl der LinkedList vs. ArrayList
Wenn die Liste schnell zugegriffen werden muss, jedoch nicht häufig Elemente einfügt und löschen wird, ist es besser, ArrayList auszuwählen. Wenn die Liste häufig eingefügt und gelöscht werden muss, sollten Sie die LinkedList auswählen.
2. Set -Schnittstelle
Die festgelegte Schnittstelle erbt von der Sammlungsschnittstelle und erbt auch alle Methoden der Sammlungsschnittstelle. Die SET -Schnittstelle hat die folgenden Eigenschaften:
Die am häufigsten verwendet, um die festgelegte Schnittstelle zu implementieren, sind die Hashset -Klasse und die Treeset -Klasse.
1) .Hashset
Die Hashset -Klasse ist eine festgelegte Schnittstellenimplementierung, die auf dem Hash -Algorithmus basiert. Es hat die folgenden Eigenschaften:
Wenn die Klasse, die wir geschrieben haben, die Equals -Methode neu definiert, muss diese Klasse auch die HashCode () -Methode neu definieren und sicherstellen, dass die Rückgabewerte der HashCode () -Methode der beiden Objekte mit der Equals -Methode wahr sind, wenn das Ergebnis der beiden Objekte verglichen wird, sind gleich.
Programmbeispiel:
Paket Lei; import Java.util.hashset; Java.util.set importieren; public class test4 {public static void main (String [] args) {set <string> set = new Hashset <string> (); set.add ("Zhangsan"); set.add ("lisi"); für (String S: set) {System.out.println (s); }}}2) .Treeset
Die Treeset -Klasse implementiert nicht nur die Klassen -Set -Schnittstelle, sondern implementiert auch die sortierte Schnittstelle, um sicherzustellen, dass die Objekte in der Sammlung in einer bestimmten Reihenfolge sortiert werden. Wenn die Treeset -Sammlung ein Objekt hinzugefügt wird, wird es in eine geordnete Folge von Objekten eingefügt, diese Sortierung wird jedoch nicht in der Reihenfolge sortiert, in der Objekte hinzugefügt werden, sondern nach einem bestimmten Algorithmus sortiert werden.
Treeset sortiert Elemente in der natürlichen Reihenfolge der Elemente oder sortiert sie nach dem Vergleich, der beim Erstellen des Satzes bereitgestellt wird. Treeset unterstützt zwei Sortiermethoden: natürliche Sortierung und individuelle Sortierung.
3.Map -Schnittstelle
Die Kartenschnittstelle (MAP) ist eine weitere wichtige Schnittstelle im Java -Sammlungs -Framework, das sich von der Sammlungsschnittstelle unterscheidet. Es entspricht einer Sammlung entsprechender Beziehungen von Schlüssel zu Werten. Es gibt zwei Gruppen von Objekten im Kartenobjektcontainer, eine Gruppe von Objekten wird verwendet, um den Schlüssel in der Karte zu speichern, und die andere Gruppe wird verwendet, um den Wert zu speichern. Schlüssel und Wert können Daten eines beliebigen Referenztyps aktualisieren. Der Schlüssel kann nicht wiederholt werden, aber der Wert kann wiederholt werden.
1) .HASHMAP
HashMap ist eine Implementierung der Kartenschnittstelle basierend auf dem Hash -Algorithmus. HashMap spart seine Schlüssel in der Hash -Tabelle für die Wartung, und die Schlüssel sind einzigartig. HashMap garantiert jedoch nicht, dass die Schlüssel in einer bestimmten Reihenfolge angeordnet sind, insbesondere dass die Bestellung dauerhaft unverändert ist.
Die HashMap -Klasse implementiert die Kartenschnittstelle und verfügt somit über alle Methoden der Kartenschnittstelle.
Paket Tag 1228; import Java.util.*; public class hashmapDemo {public static void main (String [] args) {// Erstellen Sie eine neue HashMap -Karte <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"); // Iterator verwenden, um das Schlüssel- und Wert -System zu durchqueren. Set <string> keys = map.keyset (); für (iterator <string> i = keys.iterator (); i.hasnext ();) {String key = i.Next (); String value = map.get (Schlüssel); System.out.println (Schlüssel + "=" + Wert); } // den Wert mit dem Schlüssel "a4" system.out.println ("/ndelete das Element mit dem Schlüsselwert A4") löschen; map.remove ("a4"); // // Iterator verwenden, um die Schlüssel und Werte system.out.println zu durchqueren ("/n Kartenwert nach:"); keys = map.keyset (); für (iterator <string> i = keys.iterator (); i.hasnext ();) {String key = i.Next (); String value = map.get (Schlüssel); System.out.println (Schlüssel + "=" + Wert); }}}2). Treemap
Die Treemap -Klasse ist eine Kartenschnittstelle implementiert, die auf dem roten und schwarzen Baumalgorithmus basiert. Die Speichermethode von Schlüssel in Treemap ähnelt Treeset. Es speichert Schlüssel in einem Baum, und die Reihenfolge der Schlüssel ist in natürlicher Reihenfolge oder maßgeschneiderter Reihenfolge angeordnet.
Programmbeispiel:
Paket Tag 1228; import Java.util.*; öffentliche Klasse Treemapdemo {public static void main (String [] args) {// Erstellen Sie eine neue Treemap -Karte <Integer, String> map = new Treemap <Integer, String> (); map.put (1, "eins"); map.put (2, "zwei"); map.put (3, "drei"); map.put (4, "vier"); map.put (5, "fünf"); // Iterator verwenden, um die Schlüssel- und Werte system.out.println anzuzeigen ("Der vorherige Kartenwert ist:"); Set <Neger> keys = map.keyset (); für (Objektschlüssel: Schlüssel) {String value = map.get (Schlüssel); System.out.println (Schlüssel+"="+Wert); } // Löschen Sie den Wert von Schlüssel 3 system.out.println ("/ndelete das Element mit Schlüsselwert 3"); map.remove (3); // Iterator verwenden, um das Schlüssel- und Wert -System anzuzeigen. für (Objektschlüssel: Schlüssel) {String value = map.get (Schlüssel); System.out.println (Schlüssel+"="+Wert); }}}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!