Réintroduction Java - Collection Java

Contexte

Rédaction de mémos de la collection Java. Aussi, un mémo d'écriture de type générique.

Les références

Environnement de vérification

Forme de base de la collection

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

Dans le didacticiel Java, cela est expliqué dans cette figure car il s'agit d'une interface Core Collection. image

Generics Celui qui écrit comme ça ... je ne peux pas expliquer ...

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

Voir ici pour les termes génériques et plus. Points of Java Generics

Convention de dénomination des paramètres de type

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

ArrayList Exemple de code ArrayList. Cela fonctionne, mais il se met en colère contre Eclipse aux endroits suivants ... 「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());
		}

Cliquez ici pour une méthode moderne (Java 7 et plus) utilisant Generics (type paramétré). La bonne réponse est "List <String> myList = new ArrayList <> ();". Le but est de bien saisir la sécurité au niveau du codage.

		// 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 Exemple de code HashSet.

		// 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 Exemple de code HashMap.

		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));
		}

? Exemple de caractère générique (type générique illimité)

	// 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);
	}

Exemple de classe / méthode utilisant le type générique

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

Réintroduction Java - Collection Java
Collection Java9
[Java] Cadre de collection
Collection expirée de java
Collection d'exemples de code parallèle Java
[Java] Comparateur de la classe Collection
Collection de méthodes de code de test Java
Qu'est-ce qu'une collection Java?
Java
Java
Collecte de copies approfondies en Java
Collection de modèles JNA (Java Native Access)
Java Performance Chapitre 5 Bases de la récupération de place
Apprendre Java (0)
Étudier Java ―― 3
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Importance de l'interface apprise de la collection Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
[Java] ArrayDeque
java (remplacement)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Étudier Java ―― 4
Java (ensemble)
tri shell java
[Java] compareTo
Étudier Java -5
java (interface)
Mémorandum Java
Tableau Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
framework java
Fonctionnalités Java
[Java] Héritage
FastScanner Java
Fonctionnalités Java
java débutant 3
Mémo Java
java (encapsulation)
Héritage Java
Les bases de Java
Décompiler Java