�@4��4����5����2���Ԃɓn���ĊJ�Â��ꂽ���{�I���N����Â�Java�Z�p�Ҍ����C�x���g�uJavaOne Tokyo 2012�v�ł́A�S������Java�J���҂��W�܂�AJava���ӂ̍ŐV������Z�p�I��Tips�A���p����Ȃǂ̘b��ɐ���オ�����B
�@���|�[�g�̑O���ł́AJava SE/EE/ME���ꂼ��̌���ƍ���̓����ɏœ_�ĂďЉ���B��҂́AJava SE/JDK�ɂ��āA�uProject Lambda�v�uProject Jigsaw�v�A�����ĐV����JavaScript�G���W���ł���uNashorn�v�Ɋւ���Z�b�V�����̗l�q�����|�[�g����B
�@Java SE 8�ŗ\�肳��Ă����K�͂ȋ@�\�g����1�Ɂu�����_���i�N���[�W���j�v�̓���������BJava�ւ̃N���[�W���̓�����Java SE 7�̊J����������v�悪�����オ���Ă������A�������Ԃɂ킽���ċc�_���܂Ƃ܂炸�A���̓��e����]�O�]�����o�܂�����B
�@���Ƃ��ƁA���̋@�\�g���́u�N���[�W���̓����v�Ƃ��Ēm���Ă���A�W���d�l�̒�Ăł���uJSR 335�v�ł��u�N���[�W���v�Ƃ����L�q������B�������A���^���Ȃ����Ƃ�A���L�V�J���X�R�[�v�̈�������������Ă��邱�Ɓi�ς̕ϐ��ɃA�N�Z�X�ł��Ȃ��j�ȂǁA���̌���ň�ʓI�Ɂu�N���[�W���v�ƌĂ�Ă���@�\�Ƃ͏��X�قȂ�B�]���āA�{�e�ł͕X��u�����_���v�������́u�N���[�W���v�ƋL�ڂ��邪�A��L�̓_�ɗ��ӂ��Ă������������B
�@���āAJavaOne Tokyo�ł́A�I���N����Java Platform Group��Principle Member of Technical Staff�߂�David Holmes�����Z�b�V�����uProject Lambda: To Multicore and Beyond�v�ɂ����āA���̃����_���̎�����i�߂�uProject Lambda�v���Љ���B
�@Holmes���ɂ��AProject Lambda�̎�ȖړI�́A�g���₷���������C�u��������邱�ƁA�����ĕ����\�ȃR�[�h�������ƊȈՂɋL�q�ł���悤�ɂ��邱�Ƃ��Ƃ����B
�@Java SE 5����́uConcurrency Utilities�v�ɂ���ĕ��s�v���O���~���O�̂��߂̃��C�u�������[�������B������Java SE 7�ł́uFork/Join Framework�v�iJSR 166y�j�ɂ���ď����ȃ^�X�N�̕��s���������Ȃ��I�[�o�[�w�b�h�Ŏ����ł���悤�ɂȂ����B
�@�������A���݂�Java���^�X�N���쐬���悤�Ƃ���ƁA�����N���X���g�����ώG�ȃR�[�h�ɂȂ�₷���B���̕ӂ�̖��̉�����ڎw���Ă���̂�Project Lambda�Ƃ����킯���B
�@��̓I�ɂ́AProject Lambda�ł͎��̍��ڂɊւ���d�l�����i�߂Ă���B
�@�ȉ��A1��1������悤�B
�@�y1�z�����_��
�@�����_���̑ΏۂƂȂ�̂��A�uFunctional Interface�v�ƌĂ��A���\�b�h��1�������Ă��C���^�[�t�F�C�X�ł���BFunctional Interface�̗�Ƃ��ẮA���̂悤�Ȃ��̂��������Ă���B
�@����Functional Interface�̃C���X�^���X���A�����_�����g�����ƂŊȒP�ɐ����ł���悤�ɂȂ�B�Ⴆ�A��́uComparator�v�̃C���X�^���X���������ꍇ�A�]���ǂ��薳���N���X���g���ƁA���̂悤�ɂȂ�B
�@���ꂪ�A�����_�����g���Ύ��̂悤�ɋL�q�ł���B�u->�v�̍������ucompare()�v�ɓn���p�����[�^�A�E�������s�����R�[�h�ł���B
�@�Ȃ��A�p�����[�^�̌^�͖��炩�ȏꍇ�ɂ͏ȗ����邱�Ƃ��ł���Ƃ����B���̗�̏ꍇ�ACompare�̌^�p�����[�^���uString�v�ł��邱�Ƃ���A�p�����[�^�̌^���uString�v�ł��邱�Ƃ������邽�߁A�ȗ����Ď��̂悤�ɂ�������B
�@�y2�z���\�b�h�Q��
�@�u���\�b�h�Q�Ɓv�́A���s�R�[�h���Ń��\�b�h���Ăяo���ꍇ�ɁA���̎Q�Ƃ����V���v���ɋL�q�ł���悤�ɂ��邽�߂̂��̂ł���B�Ⴆ�A�ǂݍ��݉\�ȃt�@�C���݂̂��t�B���^�����O���鎟�̂悤�ȃR�[�h���l���Ă݂�B
�@����������_�����g���ď����Ǝ��̂悤�ɂȂ�B
�@���\�b�h�Q�Ƃ��g���ƁA���̂悤�ɂ���ɒZ���L�q�ł���悤�ɂȂ�B
�@�����_�������p���āA�ŏ��̖ړI�ł���������\�ȃ��C�u��������������ɂ́A�ǂ�����悢�̂��낤���B�����̑ΏۂƂ��ẮA���[�v�������ł��d������Ă���B���[�v�����������ɂ́A�u�����C�e���[�^�v��������@������B��Ƃ��ċ�����ꂽ�͎̂��̂悤�ȃR�[�h���B
�@����́A2011�N�ɑ��Ƃ����w���̐��т���ő�l��T���R�[�h�ł���B�ufilter()�v���\�b�h�́A�R���N�V�����̊e�v�f����uPredicate�v�́uop()�v���\�b�h�̖߂�l���utrue�v�ł�����̂������uIterable�v�I�u�W�F�N�g�Ƃ��ĕԂ��B�umap()�v���\�b�h�́A���l�ɁuMapper�v�́umap()�v���\�b�h�̖߂�l��v�f�Ƃ����uIterable�v�I�u�W�F�N�g��Ԃ��B
�@�����_�����g���ƁA���̃R�[�h�����̂悤�ɂȂ�A���ɃV���v���ɋL�q�ł��邱�Ƃ�������B
�@�y3�z�f�t�H���g���\�b�h
�@�ł́A�ufilter()�v�umap()�v�Ȃǂ̃��\�b�h�͂ǂ̂悤�Ɏ�����������̂��낤���B�����̃��\�b�h�̒�`���R���N�V�����̃C���^�[�t�F�C�X�ɒlj����Ă��܂��ƁA���̃C���^�[�t�F�C�X�����������N���X���ׂĂ��C�����Ȃ���Ȃ炸�A�݊����˂Ă��܂��B�����ŁA�C���^�[�t�F�C�X�̃��\�b�h�̃f�t�H���g�̎�����lj��ł���d�g�݂����������B���ꂪ�u�f�t�H���g���\�b�h�v���B
�@��̓I�ɂ́A���̂悤�Ƀ��\�b�h��`�Ɂudefault�v�Ƃ����L�[���[�h��t���A���̌��Ƀf�t�H���g�Ƃ��Ďg�p����������L�q����B�����usort()�v���\�b�h����������Ȃ������ꍇ�ɂ́A�����I�Ƀf�t�H���g�̎������g����킯���B
�@�f�t�H���g���\�b�h�̓����́A���\�b�h�̎������Փ˂��Ă��܂��댯��������B�Ⴆ�A���̂悤�Ɂum()�v�Ƃ����f�t�H���g���\�b�h���������C���^�[�t�F�C�XA��B������Ƃ���B
�@A��B����������N���XC��������ꍇ�A�ǂ����m()�̎������K�p�����̂����͂����肵�Ȃ��B���̏ꍇ�A���̂悤�Ɂum()�v���������邱�ƂŁA�g�p��������i���̗�ł�A�̎����j���I�Ɏw�肷��̂��Ƃ����B
�@�f�t�H���g���\�b�h�̓K�p��Ƃ��ẮAIterable�C���^�[�t�F�C�X�ւ̎��̂悤�ȃ��\�b�h�̒lj���������ꂽ�B
�@�����ւ̑Ή����A�����_�������̖{��
�@�Ȃ��A�y2�z�̓����C�e���[�^�̏����������ɂ͂ǂ������炢�����낤���B����ɂ́A���̂悤�Ɂuparallel()�v���\�b�h�̏�����lj����邾���ł����������B
�@�����ɂ��ẮA���̑��ɂ��uIterable�v�C���^�[�t�F�C�X�̕����łł���uSpliterable�v�Ƃ������C���^�[�t�F�C�X����Ă���Ă���B
�@���̂悤�ɁAJava�ւ̃����_���i�N���[�W���j�̓����́A�P�ɐV�������@���lj������Ƃ������Ƃł͂Ȃ��A�����ւ̑Ή����A���̖{�����BJava�J���҂͂��̓_�ɒ��ڂ��āAJava SE 8�ւ̐S�\�����n�߂Ă����K�v�����邾�낤�B
Copyright © ITmedia, Inc. All Rights Reserved.