5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java SE7 Gold 取得を目指して (7)

Posted at

Java SE7 Gold をとりたい…!

本日は第7回目です。
6章の半分を進めました。

今日のこぼれ話

お久しぶりの勉強です。
別にJavaが嫌になったとかそういうわけではなく、単純に朝時間がとれなかったというのが原因です。
朝の勉強はいいですね。電車も空いてますし、頭も(比較的)さえてますし、誘惑や障害も少ない気がします。
特に資格の勉強にはもってこいの時間ですよ。是非。

人は何故、早起きを他人に押し付けたがるのか?朝活する人はなぜ押し付けがましいのか?

本日知ったこと(6章 1/2)

  • Collection

    • List

      クラス 特徴など
      ArrayList おなじみ ランダムアクセス得意 挿入/削除不得意 非スレッドセーフ
      LinkedList 挿入/削除得意 ランダムアクセス不得意 非スレッドセーフ
      Vector ArrayListのスレッドセーフ版 パフォーマンス考慮してつかう
    • Set

      • 一意性判定にはequals()が使われる
      クラス 特徴など
      HashSet おなじみ 要素へのアクセス高速 順序付け無し 非スレッドセーフ
      TreeSet 要素へのアクセス低速 ソート済み 非スレッドセーフ
      LinkedHashSet HashSetの挿入順保持版 ソートではないので注意
    • Queue

      • 操作失敗時に例外の発生するものと、特殊値(null/falseなど)を返すメソッドがある
      操作 例外発生版 特殊値返却版
      要素の挿入 add(E e) offer(E e)
      先頭の要素を取り出し削除 remove() poll()
      先頭の要素を取り出し element() peek()
    • Deque(デック)

      • LinkedList は Dequeインタフェースを実装する
      操作 例外発生版 特殊値返却版
      先頭へ要素の挿入 addFirst(E e) offerFirst(E e)
      先頭の要素を取り出し削除 removeFirst() pollFirst()
      先頭の要素を取り出し getFirst() peekFirst()
      末尾へ要素の挿入 addLast(E e) offerLast(E e)
      末尾の要素を取り出し削除 removeLast() pollLast()
      末尾の要素を取り出し getLast() peekLast()
  • Map

    • MapはCollectionの派生クラス(インタフェース)ではない

      クラス 特徴など
      Hashtable 非nullのオブジェクトがキー/値となる スレッドセーフ
      HashMap おなじみ Hashtableのnull使用可・非スレッドセーフ版
      LinkedHashMap キー挿入の順序を保持するHashMap
      TreeMap NavigableMapを実装する(Java1.6から) キーで昇順ソート 非スレッドセーフ
    • NavigableMap

      • SortedMapのサブインタフェース
      • 指定されたキーに近い要素を返すメソッドが定義されている
      メソッド 概要
      higherKey(K key) 指定されたキーよりも確実に大きいキーの中で最小のものを返す
      lowerKey(K key) 指定されたキーよりも確実に小さいキーの中で最大のものを返す
      higherEntry(K key) 指定されたキーよりも確実に大きいキーの中で最小のものをキーとするエントリを返す
      lowerEntry(K key) 指定されたキーよりも確実に小さいキーの中で最大のものをキーとするエントリを返す
      subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) fromKey~toKeyまでの部分ビューを返す booleanの引数は境界を含めるかどうか
  • ジェネリクス

    • メソッド定義でのジェネリクス
      • 定義方法 public <T> T method(T t) { ... }
      • 呼び出し方 obj.method(s); or obj.<String>method(s);
    • ワイルドカード
      • List<? extends Super>
        • Superを親に持つクラス型の要素を格納
        • 要素の追加はできない
        • Superがインタフェースでもextends
      • List<? super Sub>
        • Subの親クラス型の要素を格納
        • 型パラメータに一致する要素を追加できる

知っているようで、なかなか奥が深いコレクションの世界。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?