Notes avancées ZJU-java Semaine 3 (conteneur d'objets)

  1. ArrayList<String>Lire comme ArrayList de String ArrayList
    utilisé pour stocker String La
    classe ArrayList appartient à la classe de paradigme, est une sorte de classe de conteneur
    ArrayList<String> appartient à la classe de conteneur , utilisée pour stocker des objets, composée de type de conteneur et de type d'élément
    Connaître une utilisation intégrée de la classe de conteneur, enregistrer beaucoup de choses

  2. Chaque élément du tableau d'objets est le gestionnaire de l'objet plutôt que l'objet lui-même
    Insérez la description de l'image ici

La simple création d'un tableau ne crée pas tous les objets qu'il contient

int[] ia = new int[10];
String[] a = new String[10];
System.out.println(ia[0]);
System.out.println(a[0]);

Sortie
0
nul

  1. pour chaque boucle et tableau d'objets
class Value{
    
    
    private int i;
    public void set(int i){
    
    this.i = i;}
    public int get(){
    
    return i;}
}


Value[] a = new Value[10];
        for(int i=0;i<a.length;i++){
    
    
            a[i]=new Value();
            a[i].set(i);
        }
        for (Value v: a){
    
    
            System.out.println(v.get());
            v.set(0);
        }
        for (Value v: a){
    
    
            System.out.println(v.get());
        }

输出 0123456789 0000000000
  1. Est-il possible de remplacer le tableau d'objets par une classe conteneur
ArrayList<String> a = new ArrayList<String>();
        a.add("first");
        a.add("second");
        for(String s:a){
    
    
            System.out.println(s);
        }
}
输出 first second 

tout à fait d'accord

  1. ArrayList est des conteneurs séquentiels, des éléments séquentiels, réutilisable
    HashSet est un conteneur de collection, pas l'ordre des éléments n'est pas répété
    Exemple
		ArrayList<String> a = new ArrayList<String>();
        a.add("first");
        a.add("second");
        a.add("first");
        System.out.println(a);
        HashSet<String> b = new HashSet<String>();
        b.add("first");
        b.add("second");
        b.add("first");
        System.out.println(b);
输出
[first, second, first]
[first, second]
  1. Fonction ToString () qui sera activement appelée
class Value{
    
    
private int i;
public void set(int i){
    
    this.i = i;}
public int get(){
    
    return i;}
}
main函数里
Value v =new Value();
v.set(10);
System.out.println(v);
输出
notebook.Value@1b6d3586

Si vous ajoutez dans la classe Value

public String toString(){
    
    return ""+i;}
则输出
10

Arraylist et hashset peuvent être générés directement, indiquant que la fonction toString est implémentée en interne

  1. Table de hachage, une structure de données, tous les éléments sont une paire de valeurs. Par
    exemple: HashMap<Integer,String>
    pourquoi int n'est pas bon: c'est un monde orienté objet.
    Une variable de type package (Integer) peut accepter directement la variable de son type de base correspondant (int)
例
类里
public HashMap<Integer,String> coinnames = new HashMap<Integer,String>();
构造函数里
System.out.println(coinnames);
输出
{
    
    1=penny, 50=half-dollar, 5=nickel, 25=quarter, 10=dime}
  1. Comment parcourir la table de hachage
for(Integer k:coinnames.keySet()){
    
    
String s = coinnames.get(k);
System.out.println(s);
}
输出
penny
half-dollar
nickel
quarter
dime

Remarque: la longueur de la table de hachage doit également être transmisekeySet().size()

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44997802/article/details/108481790
conseillé
Classement