2020 年の新しい Java インタビューの質問 - コンテナー (3)

王林
リリース: 2020-04-17 17:08:27
転載
1684 人が閲覧しました

2020 年の新しい Java インタビューの質問 - コンテナー (3)

1. Array と ArrayList の違いは何ですか?

Array は基本的な型とオブジェクトを保持できますが、ArrayList はオブジェクトのみを保持できます。

Array には指定されたサイズがありますが、ArrayList の初期サイズは固定です。

Array は、addAll、removeAll、iterator などの ArrayList ほど多くの関数を提供しません。

2. Queue でのpoll()とremove()の違いは何ですか?

Queue delete() と poll() は両方とも、キューの先頭から要素を削除するために使用されます。キュー要素が空の場合、remove() メソッドは NoSuchElementException 例外をスローします。 () メソッドは null を返すだけです。

推奨チュートリアル: Java 入門

3. スレッドセーフなコレクション クラスとは何ですか?

vector: ArrayList よりも 1 つ多い同期メカニズム (スレッド セーフ) があり、効率が低いため、

statck: stack class, first in を使用することは推奨されません。 、最後に

hashtable: HashMap よりもスレッドセーフです

enumeration: enumeration、iterator と同等

4. iterator とは何ですか?

イテレータは、開発者がシーケンスの基礎となる構造を知らなくても、シーケンス内のオブジェクトを反復して選択するオブジェクトであるデザイン パターンです。イテレータは、安価に作成できるため、「軽量」オブジェクトと呼ばれることがよくあります。

(javaインタビュー質問欄:https://www.php.cn/java/interview/

5. Iteratorの使い方は?特徴は何ですか?

1. Iterator 関数は比較的単純で、一方向にのみ移動できます。

2. iterator() メソッドを使用して、コンテナが Iterator を返すように要求します。 Iterator の next() メソッドが初めて呼び出されるとき、シーケンスの最初の要素が返されます。注: iterator() メソッドは java.lang.Iterable インターフェースであり、Collection によって継承されます。

3. hasNext() を使用して、シーケンス内に要素があるかどうかを確認します。

4. next() を使用して、シーケンス内の次の要素を取得します。 5. Remove() を使用します。イテレータによって新たに返された要素を削除します。

6. イテレータは、Java イテレータの最も単純な実装です。List 用に設計された ListIterator には、より多くの機能があります。List を 2 方向に走査でき、また、リストからリストをトラバースし、要素を挿入および削除します。

コード例:

    public static void main(String[] args) {
        // List
        ArrayList<String> list = new ArrayList<>();
        list.add("apple");
        list.add("pear");
        list.add("banana");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            if ("apple".equals(s)){
                iterator.remove();
            }
        }
        list.forEach(item -> System.out.println(item));

        // Map<key,value>
        Map<String,String> map=new HashMap<>();
        map.put("pig","猪");
        map.put("cat","猫");
        map.put("dog","狗");
        Iterator<String> iterator1 = map.keySet().iterator();
        Iterator<String> iterator2 = map.values().iterator();
        while (iterator1.hasNext()){
            System.out.println(iterator1.next());
        }
        while (iterator2.hasNext()){
            System.out.println(iterator2.next());
        }
    }
ログイン後にコピー

関連ビデオチュートリアルの推奨事項:

java ビデオ

以上が2020 年の新しい Java インタビューの質問 - コンテナー (3)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート