Submit Search
Upload
Java の Collection 関連について整理してみました
•
3 likes
•
1,339 views
Gaprot
Follow
アップフロンティア・システム開発部スピーチ大会 YSK 氏の発表
Read less
Read more
Software
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
Atsushi Tadokoro
プログラミング超超超入門
プログラミング超超超入門
rigibun
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
龍太郎(Ryutaro) 井元(Imoto)
僕のデスクトップ整理方法
僕のデスクトップ整理方法
Kenta Komori
データを整理するための基礎知識
データを整理するための基礎知識
Gen Fujita
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術
Shin Sekaryo
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
Kosuke Sugai
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
terahide
Recommended
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
Atsushi Tadokoro
プログラミング超超超入門
プログラミング超超超入門
rigibun
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
龍太郎(Ryutaro) 井元(Imoto)
僕のデスクトップ整理方法
僕のデスクトップ整理方法
Kenta Komori
データを整理するための基礎知識
データを整理するための基礎知識
Gen Fujita
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術
Shin Sekaryo
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
Kosuke Sugai
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
terahide
SSL入門
SSL入門
Takeru Ujinawa
Docker超入門
Docker超入門
Katsunori Kanda
Javaバイトコード入門
Javaバイトコード入門
Kota Mizushima
HTTP/2入門
HTTP/2入門
渉 米須
とある情報の超整理術
とある情報の超整理術
Masahito Zembutsu
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門
Yahoo!デベロッパーネットワーク
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
樽八 仲川
Swagger 入門
Swagger 入門
Yoshiaki Yoshida
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
Naoto MATSUMOTO
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
データベース入門2
データベース入門2
tadaaki hayashi
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
GTDなメール整理術
GTDなメール整理術
Naoto Azami
アイデアを発展・整理するための便利なアプリとその使い方
アイデアを発展・整理するための便利なアプリとその使い方
祐磨 堀
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
Taku Aoyama
Severe ARDSの初期治療
Severe ARDSの初期治療
清水 真人
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
株式会社 NTTテクノクロス
AR開発高速化!「CFA」作りました!
AR開発高速化!「CFA」作りました!
Gaprot
Unity + iOS/Android VR ことはじめ
Unity + iOS/Android VR ことはじめ
Gaprot
More Related Content
Viewers also liked
SSL入門
SSL入門
Takeru Ujinawa
Docker超入門
Docker超入門
Katsunori Kanda
Javaバイトコード入門
Javaバイトコード入門
Kota Mizushima
HTTP/2入門
HTTP/2入門
渉 米須
とある情報の超整理術
とある情報の超整理術
Masahito Zembutsu
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門
Yahoo!デベロッパーネットワーク
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
樽八 仲川
Swagger 入門
Swagger 入門
Yoshiaki Yoshida
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
Naoto MATSUMOTO
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
データベース入門2
データベース入門2
tadaaki hayashi
5分でわかる静的解析入門
5分でわかる静的解析入門
Kenta USAMI
GTDなメール整理術
GTDなメール整理術
Naoto Azami
アイデアを発展・整理するための便利なアプリとその使い方
アイデアを発展・整理するための便利なアプリとその使い方
祐磨 堀
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
Taku Aoyama
Severe ARDSの初期治療
Severe ARDSの初期治療
清水 真人
閉域網接続の技術入門
閉域網接続の技術入門
Masayuki Kobayashi
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
株式会社 NTTテクノクロス
Viewers also liked
(20)
SSL入門
SSL入門
Docker超入門
Docker超入門
Javaバイトコード入門
Javaバイトコード入門
HTTP/2入門
HTTP/2入門
とある情報の超整理術
とある情報の超整理術
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
Swagger 入門
Swagger 入門
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
データベース入門2
データベース入門2
5分でわかる静的解析入門
5分でわかる静的解析入門
GTDなメール整理術
GTDなメール整理術
アイデアを発展・整理するための便利なアプリとその使い方
アイデアを発展・整理するための便利なアプリとその使い方
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
Severe ARDSの初期治療
Severe ARDSの初期治療
閉域網接続の技術入門
閉域網接続の技術入門
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
More from Gaprot
AR開発高速化!「CFA」作りました!
AR開発高速化!「CFA」作りました!
Gaprot
Unity + iOS/Android VR ことはじめ
Unity + iOS/Android VR ことはじめ
Gaprot
1201 ギャップロ軍団企画書
1201 ギャップロ軍団企画書
Gaprot
Speech Framework
Speech Framework
Gaprot
SiriKit iOS10
SiriKit iOS10
Gaprot
Proactive Suggestions
Proactive Suggestions
Gaprot
New Notification API in iOS 10
New Notification API in iOS 10
Gaprot
iOS 10 new Camera
iOS 10 new Camera
Gaprot
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
Gaprot
Aiマッシュアップ委員会 仕様説明資料
Aiマッシュアップ委員会 仕様説明資料
Gaprot
GoF のデザインパターンじゃないけど、よくあるパターン
GoF のデザインパターンじゃないけど、よくあるパターン
Gaprot
Salmon Hunt
Salmon Hunt
Gaprot
SONY Camera Remote API
SONY Camera Remote API
Gaprot
「バグあるある」と「仕様変更あるある」一挙大放出SP!
「バグあるある」と「仕様変更あるある」一挙大放出SP!
Gaprot
More from Gaprot
(14)
AR開発高速化!「CFA」作りました!
AR開発高速化!「CFA」作りました!
Unity + iOS/Android VR ことはじめ
Unity + iOS/Android VR ことはじめ
1201 ギャップロ軍団企画書
1201 ギャップロ軍団企画書
Speech Framework
Speech Framework
SiriKit iOS10
SiriKit iOS10
Proactive Suggestions
Proactive Suggestions
New Notification API in iOS 10
New Notification API in iOS 10
iOS 10 new Camera
iOS 10 new Camera
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
Aiマッシュアップ委員会 仕様説明資料
Aiマッシュアップ委員会 仕様説明資料
GoF のデザインパターンじゃないけど、よくあるパターン
GoF のデザインパターンじゃないけど、よくあるパターン
Salmon Hunt
Salmon Hunt
SONY Camera Remote API
SONY Camera Remote API
「バグあるある」と「仕様変更あるある」一挙大放出SP!
「バグあるある」と「仕様変更あるある」一挙大放出SP!
Java の Collection 関連について整理してみました
1.
JavaのCollection関連 について整理してみ ました 14年2月5日水曜日
2.
• javaって機能が多くて全ての機能を把握 しきれていない... • Javaでコーディングしているときは ArrayListとHashMapだけ使ってればなん とかなると思っている... 動機 14年2月5日水曜日
3.
Iterable<E> Collection<E> Set<E> Queue<E> List<E> SortedSet<E> EnumSet<E> HashSet<E> TreeSet<E> LinkedHashSet<E> PriorityQueue<E> ArrayList<E> LinkedList<E> 14年2月5日水曜日
4.
• 重複した要素が含まれない • 必ずしも特定の順序で保存されない Set<E> SortedSet<E> •
要素がソートされたセット 14年2月5日水曜日
5.
• ハッシュテーブルを使用して実装され たセット • 要素の追加、削除、検索は高速 HashSet<E> 14年2月5日水曜日
6.
• HashSet<E>の拡張 • 内容をイテレーションすると、要素が 追加された順番で要素が返される •
性能はHashSetより若干遅い LinkedHashSet<E> 14年2月5日水曜日
7.
• ツリー構造で内容を保持 • Comparatorインターフェースを指定す る事により、任意の順序でソート可能 •
要素の追加、削除、検索はHashSetに比 べて遅い TreeSet<E> 14年2月5日水曜日
8.
• 特定の順序で要素が並んでいるコレク ション List<E> 14年2月5日水曜日
9.
• 最も広く使われているListクラス • 最後の位置の要素の追加と削除、特定 位置の要素の参照と変更、サイズの取 得は高速 •
それ以外の操作に要する時間はリスト のサイズに比例して長くなる ArrayList<E> 14年2月5日水曜日
10.
• 双方向リンクリストであり、パフォー マンスの特性はArrayListのほぼ逆 • 要素の追加、削除は高速 •
要素の参照に要する時間はリストのサ イズに比例する LinkedList<E> 14年2月5日水曜日
11.
• 要素に暗黙の順序を持つコレクション Queue<E> 14年2月5日水曜日
12.
• 優先順位に基づいたキューで、キュー の先頭はキュー内の最小要素 • 優先順位は要素の自然な順序、もしく は提供されたComparatorにより決定 •
イテレーターによる要素の走査では、 優先順位に基づいてソートされないの で注意 PriorityQueue<E> 14年2月5日水曜日
13.
Map<K,V> SortedMap<K,V> TreeMap<K,V> EnumMap<K,V> WeakHashMap<K,V> HashMap<K,V> LinkedHashMap<K,V> 14年2月5日水曜日
14.
• キーに関連づけて一つの要素を保存 Map<K,V> SortedMap<K,V> • キーがソートされたマップ 14年2月5日水曜日
15.
• ハッシュテーブルを使用して実装され たMap • 検索と挿入に比較的時間を要さない HashMap<K,V> 14年2月5日水曜日
16.
• HashMapの拡張 • 内容をイテレーションすると、要素が 追加された順番で要素が返される •
性能はHashMapより多少遅い LinkedHashMap<K,V> 14年2月5日水曜日
17.
• ほぼHashMapのように振る舞う • キーを参照するのに弱参照 (WeakReference)を使用する •
キーにあたるオブジェクトの強参照が なくなると、マップ内からそのキーと 値が削除される WeakHashMap<K,V> 14年2月5日水曜日
18.
• SortedMapを使用し、TreeSetと同じ方法 でキーをソートする • キーと値の組を追加、削除、検索する のはHashMapに比べて遅い TreeMap<K,V> 14年2月5日水曜日
19.
Collentionsクラス • コレクションに対して操作するstaticのユ ーティリティメソッドを提供 • 最大値、最小値の探索、ソート、スワッ プ、シャッフル、要素の出現回数、etc... 14年2月5日水曜日
20.
まとめ • 使用用途に応じて正しいクラスを使用す べき • 自力実装ではなくユーティリティ系も使 用して不要なバグを防ぐ 14年2月5日水曜日
Download now