Bonjour. Je suis Wataku, un programmeur côté serveur qui étudie la programmation dans une certaine école. : détendu:
Cette fois, j'ai résumé le framework de collecte en Java. Comme c'était un domaine compliqué pour moi personnellement, je le résume également pour l'étudier, donc si vous avez des suggestions telles que des erreurs, veuillez commenter.
Allons-y.
En premier lieu, vous pouvez considérer une collection comme un tableau qui peut manipuler un grand nombre de valeurs à la fois, bien que la taille ne soit pas fixe.
Étant donné que la taille n'est pas fixe, vous pouvez stocker autant de données que nécessaire.
Il existe trois types principaux dans la collection, selon l'application, comme illustré ci-dessous.
Le ** Collection Framework ** est conçu pour être géré de manière flexible avec de tels types.
Comme son nom l'indique, "Array" peut être manipulé comme un tableau.
Au fait, il existe d'autres classes telles que ** LinkedList ** et ** Stack ** qui implémentent List, mais je ne les présenterai pas ici. Je voudrais écrire s'il y a une autre opportunité.
ArrayList<Moule>Nom de variable= new ArrayList<Moule>();
À la fin de la classe, il y a une partie qui spécifie le type entouré de ** "<" ** et ** ">" **. C'est une façon d'écrire peu familière, mais elle s'appelle la ** fonction Generics ** nouvellement introduite à partir de J2SE 5.0, et spécifie quel type de valeur est stocké dans cette ArrayList. Generics Spécifiez le nom de classe pour cette pièce de type. Et la valeur qui peut être stockée en tant qu'élément sera l'objet de la classe spécifiée ici. Veuillez noter que String est correct, mais int et float ne peuvent pas être spécifiés. En effet, String est une classe String, mais int et float ne sont pas des classes mais des types de base.
Par conséquent, si vous souhaitez gérer des types de base tels que le type int et le type float, la classe ** (classe wrapper) ** correspondant à chaque type de base est préparée, utilisez-la.
Classe correspondante | Type de base |
---|---|
Boolean | boolean |
Character | char |
Byte | byte |
Short | short |
Integer | int |
Long | long |
Float | float |
Doubule | double |
Par exemple, pour créer une ArrayList qui stocke des entiers et une ArrayList qui stocke des chaînes, ce sera comme suit.
ArrayList<Integer> array = new ArrayList<Integer>();
ArrayList<String> array = new ArrayList<String>();
--Insérer des données
add(valeur)
** add (index, value) ** vous permet d'insérer une valeur dans l'index spécifié.
get(indice)
size()
--S'il est vide
isEmpty()
--Si la valeur est incluse
contains(valeur)
indexOf(valeur)
--Supprimer l'index spécifié
remove(indice)
Set
Utilisez l'interface ** Italator **.
<Méthode principale>
· Prochain():Obtenez la valeur suivante
・ HasNext():S'il y a la valeur suivante
for(Iterator ite = stock.itarator; ite.hasNext;) {
//ite.Jouez avec le suivant
}
①List
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class UseList {
public static void main(String[] args) {
//TODO talon de méthode généré automatiquement
List<Integer> store = new ArrayList<>();
System.out.println("Avant l'enregistrement: le nombre total d'éléments" + store.size() + "Ça y est.");
System.out.println("La liste est-elle actuellement vide?" + store.isEmpty());
store.add(54);
store.add(24);
store.add(47);
store.add(0);
store.add(6);
store.add(24);
store.add(85);
store.add(1);
store.add(5);
store.add(6);
store.add(98);
store.add(47);
store.add(54);
store.add(96);
store.add(9);
System.out.println("Avant l'enregistrement: le nombre total d'éléments" + store.size() + "Ça y est.");
System.out.println("La liste est-elle actuellement vide?" + store.isEmpty());
System.out.println("La valeur de l'indice 8 est" + store.get(8) + "est.");
System.out.println("La valeur 1 est-elle incluse?" + store.contains(1));
System.out.println("Quel est l'indice de valeur 1?" + store.indexOf(1));
System.out.println("-------------Jetons un coup d'œil au contenu--------------");
for(Iterator<Integer> ite = store.iterator(); ite.hasNext();) {
Integer element = ite.next();
System.out.println(element);
}
System.out.println("Notez que certaines valeurs sont dupliquées");
store.remove(8);
System.out.println("Après suppression: tous les éléments" + store.size() + "Ça y est.");
System.out.println("-------------Regardons à nouveau le contenu--------------");
for(Integer element : store) {
System.out.println(element);
}
store.add(12, 346);
System.out.println("Après inscription: tous les éléments" + store.size() + "Ça y est.");
System.out.println("-------------Regardons à nouveau le contenu--------------");
for(Integer element : store) {
System.out.println(element);
}
}
}
résultat
Avant l'enregistrement: le nombre total d'éléments est de 0.
La liste est-elle actuellement vide? vrai
Avant l'enregistrement: Le nombre total d'éléments est de 15.
La liste est-elle actuellement vide? faux faux
La valeur de l'indice 8 est 5.
La valeur 1 est-elle incluse? vrai
Quel est l'indice de valeur 1? 7
-------------Jetons un coup d'œil au contenu--------------
54
24
47
0
6
24
85
1
5
6
98
47
54
96
9
Notez que certaines valeurs sont dupliquées
Après suppression: il y a 14 éléments au total.
-------------Regardons à nouveau le contenu--------------
54
24
47
0
6
24
85
1
6
98
47
54
96
9
Après inscription: Il y a 15 éléments au total.
-------------Regardons à nouveau le contenu--------------
54
24
47
0
6
24
85
1
6
98
47
54
346
96
9
②Set
import java.util.HashSet;
import java.util.Set;
public class UseSet {
public static void main(String[] args) {
//TODO talon de méthode généré automatiquement
Set<Integer> store = new HashSet<>();
store.add(54);
store.add(24);
store.add(47);
store.add(0);
store.add(6);
store.add(24);
store.add(85);
store.add(1);
store.add(5);
store.add(6);
store.add(98);
store.add(47);
store.add(54);
store.add(96);
store.add(9);
System.out.println("Le nombre d'éléments est" + store.size() + "Ça y est.");
System.out.println("-------------Jetons un coup d'œil au contenu--------------");
for(Integer element : store) {
System.out.println(element);
}
}
}
résultat
Le nombre d'éléments est de 11.
-------------Jetons un coup d'œil au contenu--------------
0
96
1
98
85
5
54
6
24
9
47
Map
Map<string, Integer> maps new HashMap<>();
put(Clé,valeur)
containsKey(Clé)
containsValue(valeur)
--Supprimer la clé spécifiée
remove(Clé)
(Remarque) La carte ne peut pas être bouclée telle quelle, donc boucler l'objet Set découpé en utilisant "entitySet".
Set entity = maps.entitySet();
for(Iterator ite = entity.itarator; ite.hasNext;) {
//ite.Jouez avec le suivant
}
Map + Entity Même en Java, créez une classe d'entité et utilisez la clé Map comme clé primaire de base de données. * Le mappage O-R * peut être effectué en stockant la "nouvelle" entité dans la valeur.
①
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class UseMap {
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
System.out.println("Le nombre actuel d'éléments est" + map.size() + "C'est");
System.out.println("La carte est-elle vide?" + map.isEmpty());
map.put(1, "Tanibe");
map.put(3, "Kuroi");
map.put(5, "Kaneko");
map.put(7, "Inoue");
map.put(11, "Yamamoto");
map.put(13, "Nakamura");
map.put(15, "Avec matin");
map.put(17, "Nakajima");
map.put(19, "Takeda");
map.put(21, "Kimoto");
map.put(25, "Saito");
map.put(27, "Asuka");
map.put(29, "Hoshino");
System.out.println("Le nombre actuel d'éléments est" + map.size() + "C'est");
System.out.println("La carte est-elle vide?" + map.isEmpty());
System.out.println("--------------------Jetons un coup d'œil au contenu(Version de l'itérateur)------------------------");
Set<Map.Entry<Integer, String>> entries = map.entrySet();
for(Iterator<Map.Entry<Integer, String>> ite = entries.iterator(); ite.hasNext();) {
Map.Entry<Integer, String> element = ite.next();
Integer key = element.getKey();
String value = element.getValue();
System.out.println("key=" +key + ":value=" + value);
}
System.out.println("--------------------Jetons un coup d'œil au contenu(Version pratique)------------------------");
for(Map.Entry<Integer, String> element : map.entrySet()) {
Integer key = element.getKey();
String value = element.getValue();
System.out.println("key=" +key + ":value=" + value);
}
System.out.println("je" + map.get(25) + "est");
System.out.println("Avez-vous No22?" + map.containsKey(22));
System.out.println("Avez-vous M. Tanaka? :" + map.containsValue("Tanaka"));
String name = map.put(9, "Nakayama");
System.out.println(name + "Écrasé");
for(Map.Entry<Integer, String> element : map.entrySet()) {
System.out.println(element);
}
name = map.remove(25);
System.out.println(name + "A été tué");
for(Map.Entry<Integer, String> element : map.entrySet()) {
System.out.println(element);
}
Set<Integer> keySet = map.keySet();
for(Integer integer : keySet) {
System.out.println(integer);
}
Collection<String> values = map.values();
for(String eachName : values) {
System.out.println(eachName);
}
}
}
résultat
Le nombre actuel d'éléments est 0
La carte est-elle vide? vrai
Le nombre actuel d'éléments est de 13
La carte est-elle vide? faux faux
--------------------Jetons un coup d'œil au contenu(Version de l'itérateur)------------------------
key=1:value=Tanibe
key=3:value=Kuroi
key=5:value=Kaneko
key=7:value=Inoue
key=11:value=Yamamoto
key=13:value=Nakamura
key=15:value=Avec matin
key=17:value=Nakajima
key=19:value=Takeda
key=21:value=Kimoto
key=25:value=Saito
key=27:value=Asuka
key=29:value=Hoshino
--------------------Jetons un coup d'œil au contenu(Version pratique)------------------------
key=1:value=Tanibe
key=3:value=Kuroi
key=5:value=Kaneko
key=7:value=Inoue
key=11:value=Yamamoto
key=13:value=Nakamura
key=15:value=Avec matin
key=17:value=Nakajima
key=19:value=Takeda
key=21:value=Kimoto
key=25:value=Saito
key=27:value=Asuka
key=29:value=Hoshino
Je suis Saito
Avez-vous No22? faux faux
Avez-vous M. Tanaka? : Faux
Null écrasé
1=Tanibe
3=Kuroi
5=Kaneko
7=Inoue
9=Nakayama
11=Yamamoto
13=Nakamura
15=Avec matin
17=Nakajima
19=Takeda
21=Kimoto
25=Saito
27=Asuka
29=Hoshino
J'ai tué M. Saito
1=Tanibe
3=Kuroi
5=Kaneko
7=Inoue
9=Nakayama
11=Yamamoto
13=Nakamura
15=Avec matin
17=Nakajima
19=Takeda
21=Kimoto
27=Asuka
29=Hoshino
1
3
5
7
9
11
13
15
17
19
21
27
29
Tanibe
Kuroi
Kaneko
Inoue
Nakayama
Yamamoto
Nakamura
Avec matin
Nakajima
Takeda
Kimoto
Asuka
Hoshino
②
import java.util.HashMap;
import java.util.Map;
public class UseMapAndEntity {
public static void main(String[] args) {
//TODO talon de méthode généré automatiquement
Map<Integer, PersonalData> stock = new HashMap<>();
PersonalData taro = new PersonalData(46887, "Taro", 72.8, 167.3, 23, 1);
PersonalData jiro = new PersonalData(12547, "Jiro", 57.7, 170.4, 28, 1);
PersonalData hanako = new PersonalData(63544, "Hanako", 53.1, 155.4, 19, 0);
PersonalData keisuke = new PersonalData(34544, "Keisukr", 98.4, 192.4, 35, 1);
stock.put(46887, taro);
stock.put(12457, jiro);
stock.put(63544,hanako);
stock.put(34544, keisuke);
System.out.println("L'élément est" + stock.size() + "C'est");
System.out.println("--------------Jetons un coup d'œil au contenu---------");
for(Map.Entry<Integer, PersonalData> element :stock.entrySet()) {
Integer key = element.getKey();
PersonalData person = element.getValue();
StringBuffer sbCurry = new StringBuffer();
sbCurry.append("Numéro de membre");
sbCurry.append(key);
sbCurry.append("Personne de:");
sbCurry.append("Nom =");
sbCurry.append(person.getName());
sbCurry.append(";");
sbCurry.append("Hauteur =");
sbCurry.append(person.getHeight());
sbCurry.append("cm;");
sbCurry.append("Poids =");
sbCurry.append(person.getWeight());
sbCurry.append("kg");
System.out.println(sbCurry.toString());
}
}
}
public class PersonalData {
private Integer _id;
private String _name;
private Double _weight;
private Double _height;
private Integer _age;
private Integer _sex;
//constructeur
public PersonalData (Integer id, String name, Double weight, Double height, Integer age, Integer sex) {
_id = id;
_name = name;
_weight = weight;
_height = height;
_age = age;
_sex = sex;
}
//Méthode d'accesseur
public Integer getId() {
return _id;
}
public void setId(Integer id) {
_id = id;
}
public String getName() {
return _name;
}
public void setName(String name) {
_name = name;
}
public Double getWeight() {
return _weight;
}
public void setWeight(Double weight) {
_weight = weight;
}
public Double getHeight() {
return _height;
}
public void setHeight(Double height) {
_height = height;
}
public Integer getAge() {
return _age;
}
public void setAge(Integer age) {
_age = age;
}
public Integer getSex() {
return _sex;
}
public void setSex(Integer sex) {
_sex = sex;
}
}
résultat
Il y a 4 éléments
--------------Jetons un coup d'œil au contenu---------
Personne avec le numéro de membre 34544:Nom = Keisukr;Hauteur = 192.4cm;Poids = 98.4kg
Personne avec le numéro de membre 46887:Nom = Taro;Hauteur = 167.3cm;Poids = 72.8kg
Personne avec le numéro de membre 63544:Nom = Hanako;Hauteur = 155.4cm;Poids = 53.1kg
Personne avec le numéro de membre 12457:Nom = Jiro;Hauteur = 170.4cm;Poids = 57.7kg
c'est tout. Si vous avez des suggestions telles que quelque chose qui ne va pas, veuillez nous contacter. Merci d'avoir lu jusqu'au bout.
Recommended Posts