ZJU-java Advanced Notes Week 3(オブジェクトコンテナ)

  1. ArrayList<String>StringのArrayListとして読み取るStringArrayListクラスの
    格納に使用されるArrayListは
    、パラダイムクラスに属しコンテナ
    ArrayList<String>クラスに属する一種コンテナクラスであり、オブジェクトの格納に使用され、コンテナタイプと要素タイプで構成さ
    れます。コンテナクラスの組み込みの使用法を知って、多くのことを節約します。

  2. オブジェクト配列の各要素は、オブジェクト自体ではなく、オブジェクトのマネージャーです。
    ここに写真の説明を挿入

配列を作成するだけでは、その中にすべてのオブジェクトが作成されるわけではありません

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

出力
0
ヌル

  1. ループとオブジェクト配列ごとに
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. オブジェクト配列をコンテナクラスに置き換えることは可能ですか?
ArrayList<String> a = new ArrayList<String>();
        a.add("first");
        a.add("second");
        for(String s:a){
    
    
            System.out.println(s);
        }
}
输出 first second 

絶対に大丈夫

  1. ArrayListはシーケンシャルコンテナ、シーケンシャル要素、再利用可能な
    HashSetはコレクションコンテナであり、要素の順序は繰り返されません
		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. アクティブに呼び出されるToString()関数
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

Valueクラスに追加する場合

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

Arraylistとhashsetは直接出力でき、toString関数が内部で実装されていることを示します

  1. ハッシュテーブル、データ構造、すべての要素は値のペアです。
    例:HashMap<Integer,String>
    intが適切でない理由:これはオブジェクト指向の世界です。
    パッケージタイプ(整数)の変数は、対応する基本タイプ(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. ハッシュテーブルをトラバースする方法
for(Integer k:coinnames.keySet()){
    
    
String s = coinnames.get(k);
System.out.println(s);
}
输出
penny
half-dollar
nickel
quarter
dime

注:ハッシュテーブルの長さも渡す必要がありますkeySet().size()

おすすめ

転載: blog.csdn.net/weixin_44997802/article/details/108481790