S-JIS[2011-02-13/2016-10-10] �ύX����
Scala���R���N�V�����i�v�f�̕��сE�W���E�O���[�v�j�̃����B
|
|
|
Scala�̃R���N�V�����͕s�ρi�C�~���[�^�u���Eimmutable�j�Ȃ��̂Ɖρi�~���[�^�u���Emutable�j�Ȃ��̂�����A��{�I�ɂ͕s�ςȕ����g�p����̂�Scala�̕��j�B
���̕s�ςȃN���X�̓f�t�H���g�Ŏg����iPredef���ʖ��itype�j����`����Ă���j�̂ɑ��A�ςȕ��͎������C���|�[�g���Ȃ��Ǝg���Ȃ��悤�ɂȂ��Ă���B
�i�S�R�W�Ȃ����A�~���[�^���g�ƌ����Ή������E�ψفE�ς���Ă��܂������́j
Java�ł͑�\�I�ȃR���N�V������List�EMap�ESet���Ǝv�����AScala�ł�Seq�EMap�ESet�ƂȂ��Ă���悤���B
�iScala��List��Seq����h��������j
Scala�̃R���N�V�����ɂ��R���N�V�����𑀍삷��ׂ̃��\�b�h�������ς�����B
Java�̃R���N�V�������상�\�b�h�Ƃ͂��Ȃ�قȂ��Ă���A���Ԃ���^����炵���\���E�����Ȃ̂��Ǝv���B
�R���N�V�����ɂ��Ă͈ȉ��̃T�C�g�����ɎQ�l�ɂȂ�܂��B
�i�Q�l�ɂȂ�Ƃ������AScala 2.8 �R���N�V����API�͕K���j
Scala 2.8 �R���N�V���� API | eed3si9n���uThe Scala 2.8 Collections API�v��|�����́B |
Scala 2.8 �R���N�V����API | ������uThe Scala 2.8 Collections API�v��|�����́B |
Scala �R���N�V�����̃A�[�L�e�N�`�� | eed3si9n���uThe Architecture of Scala Collections�v��|�����́B |
Scala2.9�ł́A�}���`�X���b�h�ŕ���Ŏ��s�ł�������R���N�V�������V�݂��ꂽ�B[2011-09-18]
eed3si9n������σR���N�V��������ѕs�σR���N�V�����̉��̕��ɏo�Ă���h���W�̐}�����ɕ�����Ղ��B
�܂��A���ۂɂǂ̃N���X���g���ׂ����ɂ��ẮA��Ƃ�������\�����̕\�����ɎQ�l�ɂȂ�B
�C�~���[�^�u���i�s�ρj�ȃR���N�V������scala.collection.immutable�p�b�P�[�W�ɂ���B
�~���[�^�u���i�ρj�ȃR���N�V������scala.collection.mutable�p�b�P�[�W�ɂ���B
�g���C�g | �s�� | �� | Java���� | ���l | ||
---|---|---|---|---|---|---|
Traversable | �@ | �@ | �@ | �T���\�g���C�g�B�S�ẴR���N�V�����̐e�g���C�g�B ���̃g���C�g�ł�foreach�݂̂����ۃ��\�b�h�� ����ȊO��TraversableLike�Œ�`����Ă���B |
||
Iterable | �@ | �@ | �@ | �J��Ԃ��\�g���C�g�B Iterable��Traversable�́i�B��́j���n�ł���A Iterable�̒�����Seq�EMap�ESet������B |
||
Gen�` | �@ | �@ | �@ | Scala2.9�ł�����R���N�V�������������B[2011-09-18] ���ׁ̈A�u�ʏ�̃R���N�V�����v�Ɓu����R���N�V�����v�̋��ʕ����Ƃ��āAGen�Ŏn�܂�g���C�g���o�����悤���B |
||
Par�` | �@ | �@ | �@ | Scala2.9������R���N�V������Par�Ŏn�܂�g���C�g�ɂȂ��Ă���B[2011-09-18] | ||
Seq | �@ | �@ | �@ | �@ | ���Ԃɕ���ł���R���N�V�����B | |
IndexedSeq | �@ | WrappedArray ArraySeq |
�z�� | �z��iArray�j | ||
String | StringBuilder | String�EStringBuilder | ������ | |||
Range | �@ | �@ | for���́u1 to 10�v�Ƃ��u0 until
10�v�Ƃ��ł悭�g����B Int�ŊJ�n�l�E�I���l�i�͈́j�����ێ�����B |
|||
NumericRange | �@ | �@ | Range�̔ėp�ŁBLong��BigInt�EBigDecimal���Ŏg���B �u 'A' to 'Z' �v��NumericRange[Char]�A�u 1L to 10 �v��NumericRange[Long]������B[/2011-03-23] |
|||
Vector | �@ | �@ | Scala2.8�œ������ꂽ�R���N�V�����B �؍\���i1�m�[�h��32�v�f�j�ŗv�f��ێ�����B[/2016-06-18] |
|||
LinearSeq | List | LinkedList DoubleLinkedList MutableList |
List LinkedList |
���X�g | ||
Stream | �@ | �@ | �����ɑ����l�Q���Ӗ�����R���N�V�����B | |||
Queue | Queue SynchronizedQueue PriorityQueue SynchronizedPriorityQueue |
Queue | �L���[ | |||
Stack | Stack SynchronizedStack ArrayStack |
Stack | �X�^�b�N | |||
Buffer | �@ | ArrayBuffer | �@ | �z���ɕϊ����₷��Buffer�B�v�f�̒lj����o����B | ||
�@ | ListBuffer | �@ | List�ɕϊ����₷��Buffer | |||
�@ | SynchronizedBuffer | �@ | �@ | |||
Map | �@ | �@ | �@ | Map | �L�[�����ɒl���擾����R���N�V�����B | |
�@ | HashMap | HashMap | HashMap | �@ | ||
ListMap | ListMap | �@ | �@ | |||
�@ | LinkedHashMap | LinkedHashMap | �@ | |||
�@ | WeakHashMap | WeakHashMap | ��Q�ƃn�b�V���}�b�v�B | |||
�@ | OpenHashMap | �@ | �@ | |||
�@ | MultiMap | �@ | �@ | |||
�@ | ConcurrentMap | �@ | �@ | |||
�@ | SynchronizedMap | �@ | �@ | |||
SortedMap | TreeMap | �@ | SortedMap�ETreeMap | �@ | ||
�@ | �@ | TrieMap | 2.10 | �@ | [2013-06-08] | |
Set | �@ | �@ | �@ | Set | �l�����݂��Ă��邩�ǂ�����ێ�����R���N�V�����i�W���j�B | |
�@ | HashSet | HashSet | HashSet | �@ | ||
BitSet | BitSet | BitSet | �@ | |||
ListSet | �@ | �@ | �@ | |||
�@ | LinkedHashSet | �@ | �@ | |||
SortedSet | TreeSet | �@ | SortedSet�ETreeSet | �@ |
�R���N�V�����̃C���X�^���X������ɂ́A�R���N�V�����N���X���R���p�j�I���I�u�W�F�N�g�i��apply()���\�b�h�j���g�p����B
val l = List("a", "b", "c") val m = Map("a" -> 123, "b" -> 456, "c" -> 789) val s = Set("a", "b", "c")
�σR���N�V�������g���ɂ̓N���X���C���|�[�g����K�v������B
�s�σN���X�ƉσN���X�Ŗ��O�����Ԃ�N���X�i�g���C�g�E�I�u�W�F�N�g�j������̂ŁA�ʖ���t����Ɨǂ��B
import scala.collection.mutable.{ ListBuffer, Map=>MMap, Set=>MSet } val l = ListBuffer("a", "b", "c") val m = MMap("a" -> 123, "b" -> 456, "c" -> 789) val s = MSet("a", "b", "c")
��i�v�f����0�j�̃R���N�V�����́A�R���p�j�I���I�u�W�F�N�g�i��apply���\�b�h�j�̈�����0�ɂ��鑼�ɁA
�R���p�j�I���I�u�W�F�N�g��empty���\�b�h�ł��擾�ł���B[2011-02-17]
val list = List[Int]() val list = List.empty[Int] val list:List[Int] = List() val list:List[Int] = List.empty �~val list = List(1,2,3).empty
Seq�̏ꍇ�A�����l�ŏ���������fill��l��͈́i�J�n�l�E�I���l�j�Ŏw�肷��range���A���ɂ����������\�b�h������B[2011-02-17]
Map��Set�̕s�σI�u�W�F�N�g�̏ꍇ�A���������_�ŗv�f����������i�ォ��ς�邱�Ƃ������j�ׁA�v�f���ɉ����Č����̗ǂ��N���X���g�p�����B
�Ⴆ��Scala2.8��Map�̏ꍇ�A�ȉ��̂悤�ɂȂ��Ă���B
�v�f�� | ���ۂ̋�ۃN���X |
---|---|
1 | scala.collection.immutable.Map$Map1 |
2 | scala.collection.immutable.Map$Map2 |
3 | scala.collection.immutable.Map$Map3 |
4 | scala.collection.immutable.Map$Map4 |
5 | scala.collection.immutable.HashMap$HashTrieMap |
�v�f��1�`4��Map�ł́Aget���\�b�h�̎��̂�if���̗���ŃL�[�肵�Ă���B
����́A�v�f�������Ȃ��Ȃ�A����ɓ����\���i�z��Ƃ����X�g�Ƃ��j�������Č��������荂�������炾�낤�B
�i�Q�l��Java�̏ꍇ�A�v�f�������Ȃ��Ȃ�Map#containsKey()���List#contains()�̕��������j
�������AMap1�ŃL�[��lj������Map2���Ԃ邵�AMap2����L�[���폜�����Map1���Ԃ�悤�ɂ����ƘA�����Ă���B
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@