Skip to content

Instantly share code, notes, and snippets.

@amaya382
Last active October 11, 2017 05:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amaya382/84c9d15b634dcbf53ea4ef0e46d31da1 to your computer and use it in GitHub Desktop.
Save amaya382/84c9d15b634dcbf53ea4ef0e46d31da1 to your computer and use it in GitHub Desktop.
scala.collection選択フローチャート(http://plantuml.com/plantuml/uml に投げると見れます)
@startuml
start
if (複数の型) then (Y)
:shapeless.HList;
detach
else (N)
if (順序が重要) then (Y)
if (規則的な値を生成) then (Y)
:immutable.Range;
detach
else (N)
if (LIFO) then (Y)
:mutable.Stack;
detach
else (N)
if (FIFO) then (Y)
:mutable.Queue
immutable.Queue;
detach
else (N)
if (ソート済み) then (Y)
if (Key-Value) then (Y)
:mutable.TreeMap
immutable.TreeMap;
detach
else (N)
:mutable.TreeSet
immutable.TreeSet;
detach
endif
else (N)
if (ランダムアクセス) then (Y)
if (要素追加しない) then (Y)
:Array;
detach
else (N)
if (末尾追加) then (Y)
:mutable.ArrayBuffer;
detach
else (N)
:immutable.Vector;
detach
endif
endif
else (N)
if (遅延評価) then (Y)
:immutable.Stream;
detach
else (N)
if (先頭・末尾追加) then (Y)
:mutable.ListBuffer;
detach
else (N)
:immutable.List;
detach
endif
endif
endif
endif
endif
endif
endif
else (N)
if (Key-Value) then (Y)
if (Keyが整数) then (Y)
:immutable.IntMap
immutable.LongMap;
detach
else (N)
:mutable.HashMap
mutable.OpenHashMap
immutable.HashMap;
detach
endif
else (N)
:mutable.HashSet
immutable.HashSet;
detach
endif
endif
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment