タグ

javaとgs-collectionsに関するcu39のブックマーク (6)

  • GS Collections Kata をひと通りやった - tokuhirom's blog

    GS Collections Kata をひと通りやった GS Collections というゴールドマン・サックスさんが出してる Java 用のコレクションライブラリがある。 Java Day Tokyo/JJUG CCC 2015 Spring で知ったのだが、これは以下のような利点を持っているようだ。 使いやすいインターフェース メモリ使用量が標準のコレクションよりもよい場合がある Multimap や sortedbag などの標準にはないコレクション GS Collections には GS Collections Kata という、チュートリアルがある。これは junit test case の形式をしていて IDE で読みこめばすぐに試せる。 順番に指示通りにやっていけば試せるんで、なかなか良い。 例も Company, Order, Supplier, LineItem

    cu39
    cu39 2015/12/10
    同意なかんじ。実用するかどうかはともかく、似た概念のものを別語彙で使ってみると概念への意識が高まって良い訓練になる。
  • GS Collections 使い方メモ - Qiita

    Java Magazine で取り上げられていて存在は知っていたものの、特にチェックはしてなかった GS Collections。 Java Day Tokyo 2015 や JJUG CCC 2015 で再びその名前を耳にし、気になってチラッと実装を見たところ、面白そうだったので使い方を調べてみた。 【追記】Eclipse Collections 2015 年の 10 月から 12 月にかけて、 GS Collections は Eclipse 財団に移管された。 名前も GS Collections から Eclipse Collections に変更された。 公式サイトはこちら → Eclipse Collections - Features you want with the collections you need. (日語ページ) GS Collections と、機能的な差

    GS Collections 使い方メモ - Qiita
  • Javaのコレクションフレームワークで物足りないならGS Collections使ったほうが良いかもしれない - Javaプログラマーのはしくれダイアリー

    ってな感じで、大体これぐらい覚えておけばなんとかなりました笑 ・縦の問題、横の問題が起きにくい bitter_foxさんの言葉をお借りすると、ソースコードが手続き的な処理で 間延びしてしまう縦の問題や、Stream APIのメソッドチェインにより発生してしまう 横の問題は多少は起こりにくく、簡潔に書けるようになります。 コレクションに関してはCollection#streamが操作の起点になると思うのですが、 GS Collectionsの場合はライブラリに含まれているので省略できます。 縦の問題、横の問題についてはJavaエンジニア養成読の [マルチコアCPU対応]Java SE 8時代のデータ入門 第2章「縦の問題」を解決するラムダ式をチェック! ・LazyかLazyでないか また、JavaのStreamの場合は終端操作が発生されるまで処理は行われない 遅延処理だと思いますが(あんま

    Javaのコレクションフレームワークで物足りないならGS Collections使ったほうが良いかもしれない - Javaプログラマーのはしくれダイアリー
  • Javaコレクションフレームワークの比較 (JDK8/GS Collections/Guava) - Programming Diary.

    はじめに Java Day Tokyo 2015とJJUG CCC 2015 Springで紹介されていたGS Collectionsを使用してみました。実例を用いてJava8のStream APIやGuavaの使用方法と比較します。 環境 JDK 1.8.0_25 GS Collections 6.1.0 Guava 18.0 JUnit 4.8.1 問題設定 社員のリストから営業部に所属する社員を抽出し、社員番号の昇順で社員名を取得する 社員のリストから部署ごとの社員数を求める ※『Javaエンジニア養成読』特集2の第3章「Stream API を使いこなすために」の例を参考にしました。 社員 public class Employee { private int id; // 社員番号 private String name; // 名前 private Dept dept; //

    Javaコレクションフレームワークの比較 (JDK8/GS Collections/Guava) - Programming Diary.
  • 実例で学ぶGS Collections – Part 2

    そして、オブジェクトのコンテナからプリミティブ型のコンテナに変換する方法と、プリミティブ型のコンテナに備わっているAPIの活用法をお見せします。いくつかの実例では下図に示したシンプルなドメインを使って説明します。 サンプルコードはユニットテストとして書かれており、実行にはJava 8が必要です。 [図をクリックして拡大] 稿の例を読み終わるころには、GS Collectionsで開発された豊富で完成されたAPIをさらに探求したいと興味を持っていただけるかと思います。 例2: コレクション内の要素がひとつでも条件に一致するかどうかを判別する anySatisfy/anySatisfyWithメソッドを使用して下記のように2通りの方法で書けます。 @Test public void doAnyPeopleHaveCats() { Predicate<Person> predicate = p

    実例で学ぶGS Collections – Part 2
  • GS-Collections-by-Example-1

    昨年のjClarityのインタビューで、GS Collectionsを便利に使ういくつかの機能の組み合わせを紹介しました。元記事はこちらから読むことができます。 Java 8がリリースされ、Stream APIが提供されている今となっては、なぜGS Collectionsを使う必要があるのか疑問に思うかもしれません。Stream APIJavaコレクションフレームワークにとって大きな前進ではありますが、必要な機能がすべて実装されているわけではありません。上の表にもあるように、GS CollectionsではMultimapやBag、イミュータブルなコンテナ、プリミティブ型専用のコンテナなどが提供されています。HashSetやHashMapをより最適化した代替実装や、それらの利点を生かしたBagやMultimapの実装などもあります。GS Collectionsのイテレーションパターンはコ

    GS-Collections-by-Example-1
  • 1