Java Reintroduction-Java Collection

Hintergrund

Schreiben von Java Collection-Memos. Auch ein generikaähnliches Schreibmemo.

Verweise

Überprüfungsumgebung

Grundform der Sammlung

  1. List
  1. Set
  1. Queue / Deque
  1. Map

Im Java-Lernprogramm wird dies in dieser Abbildung erläutert, da es sich um eine Core Collection-Schnittstelle handelt. image

Generics Derjenige, der so schreibt ... kann ich nicht erklären ...

Collection<String> col1 = new ArrayList<>();

Hier finden Sie allgemeine Begriffe und mehr. Punkte von Java Generics

Geben Sie die Namenskonvention für Parameter ein

Type Parameter Erläuterung
E Element
K Key
N Number
T Type
V Value
S,U,V etc. 2nd, 3rd, 4th types

ArrayList ArrayList-Beispielcode. Es funktioniert, aber es wird wütend von Eclipse an den folgenden Stellen ... 「List myList = new ArrayList();

		// Old usage of List - Raw type List
		List myList = new ArrayList();
		String s1 = "Apple";
		String s2 = "Orange";
		String s3 = "Banana";

		myList.add(s1);
		myList.add(s2);
		myList.add(s3);

		// Size, Print List
		System.out.println("List size : " + myList.size());
		for (Object obj : myList) {
			System.out.println(obj);
		}

		// Sort List
		Collections.sort(myList);
		for (Object obj : myList) {
			System.out.println(obj);
		}
		
		// Using Iterator
		Iterator itr = myList.iterator();
		while (itr.hasNext()) {
			System.out.println((String)itr.next());
		}

Klicken Sie hier für eine moderne Methode (Java 7 und höher) mit Generics (parametrisierter Typ). Die richtige Antwort lautet "List <String> myList = new ArrayList <> ();". Es geht darum, auf Codierungsebene gründlich typsicher zu sein.

		// New usage of List - Generics
		List<String> myList = new ArrayList<>();
		String s1 = "Apple";
		String s2 = "Orange";
		String s3 = "Banana";

		myList.add(s1);
		myList.add(s2);
		myList.add(s3);
		
		// Using Iterator
		Iterator<String> itr = myList.iterator();
		while (itr.hasNext()) {
			System.out.println((String)itr.next());
		}

HashSet HashSet-Beispielcode.

		// Use HashSet (Old Style)
		Set hs = new HashSet();
		hs.add("Hello");
		hs.add("Dolly");
		
		// Using Iterator
		Iterator itr = hs.iterator();
		while (itr.hasNext()) {
			System.out.println((String)itr.next());
		}
		
		// New Style
		Set<String> hs2 = new HashSet<>();

		// Using Iterator
		Iterator<String> itr2 = hs2.iterator();
		while (itr2.hasNext()) {
			System.out.println(itr2.next());
		}

HashMap HashMap-Beispielcode.

		Map<Integer, String> map1 = new HashMap<>();
		
		map1.put(1, "Cloud");
		map1.put(2, "Big Data");
		map1.put(3, "Machine Learning");
		
		// key objects
		Set<Integer> keys = map1.keySet();
		for (Object key : keys) {
			System.out.println(key + ": " + map1.get(key));
		}

Beispiel für einen Platzhalter (unbegrenzter Platzhalter)

	// argument with ? wildcard
	public static void printList(List<?> list) {
		for (Object obj : list ) {
			System.out.println(obj);
		}
	}
	
	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("Apple");
		list1.add("Grape");
		printList(list1);
		
		List<Integer> list2 = new ArrayList<>();
		list2.add(100);
		list2.add(300);
		printList(list2);
	}

Klassen- / Methodenbeispiel mit generischem Typ

public class GenericTypeClassSample<T> {
	T height;
	T width;
	
	public GenericTypeClassSample(T width, T height) {
		super();
		this.width = width;
		this.height = height;
	}

	public T getWidth() {
		return width;
	}

	public void setWidth(T width) {
		this.width = width;
	}

	public T getHeight() {
		return height;
	}

	public void setHeight(T height) {
		this.height = height;
	}

	public static void main(String[] args) {
		GenericTypeClassSample<Integer> rect1 = new GenericTypeClassSample<>(10, 5);
		System.out.println("Area : " + rect1.getHeight() * rect1.getWidth());

		GenericTypeClassSample<Double> rect2 = new GenericTypeClassSample<>(4.3, 5.7);
		System.out.println("Area : " + rect2.getHeight() * rect2.getWidth());

	}
}

Recommended Posts

Java Reintroduction-Java Collection
Java9-Sammlung
[Java] Sammlungsframework
Abgelaufene Java-Sammlung
Java Parallel Code Sample Collection
[Java] Komparator der Collection-Klasse
Sammlung von Java-Testcode-Methoden
Was ist eine Java-Sammlung?
Java
Java
Deep Copy Collection in Java
JNA-Mustersammlung (Java Native Access)
Java-Leistung Kapitel 5 Grundlagen der Garbage Collection
Java lernen (0)
Java studieren ―― 3
Java geschützt
[Java] Anmerkung
[Java] Modul
Java-Array
Bedeutung der aus der Java Collection gelernten Schnittstelle
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Java (Schnittstelle)
Java-Memorandum
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Framework
Java-Funktionen
[Java] Vererbung
FastScanner Java
Java-Funktionen
Java Anfänger 3
Java-Memo
Java (Kapselung)
Java-Vererbung
Java-Grundlagen
Java dekompilieren