りゅうしき


1.フロー
  • java 8から追加されたセットのリポジトリを作成します.
    ランダ式で処理できる「リピーター」です.
  • 1)循環サブストリーム
  • Java 7の前に、収集要素は、奇形リピータを使用して順次処理される.
  • Stream
  • が使用可能になりました
    2)フローフィーチャー
  • Streamは奇形腫に似た重複者である.
    要素処理コードのポイントと
    内部反復器を使用しているため,並列処理が容易である.
    中間処理と最終処理のタスクの実行には多くの違いがあります.
  • *外部反復

  • コードモードでは、開発者が直接コレクションの要素をコードとして繰り返しインポートします.

  • 逆に、内部リピータはコレクション内で要素を繰り返します.
    開発者は、各要素が処理するコードのコードモードのみを提供します.

  • ストリームは、中間処理および最終処理を行うことができる.

  • 中間処理では、マッピング、フィルタ、ソートが実行されます.
    最終処理は、繰返し、カウント、平均、要約などの統計処理を実行する.
  • 2.ストリームのタイプ
  • java.util.streamパッケージにはStream APIが含まれています.
  • BaseStream
    	- Stream	
    	- DoubleStream
    	- IntStream	
    	- LongStream
    1)コレクションからストリームを取得する
    		컬렉션 범위.stream()
    2)アレイからストリームを取得する
    		Array.stream(배열)
    3)数値範囲のストリームを得る
    		IntStream.range(int start, int endExclusive)
            
    		IntStream.rangeClosed(int start, int endExclusive)
    3.パイプライン

  • 大量のデータを加工し縮小することを通常還元と呼ぶ.
    データの総和、平均値、カウント、最大値、最小値など
    代表的な製品といえます.

  • コレクション内の要素を製品の成果物に直接統計できない場合.
    フィルタリング,マッピング,ソート,パケットなどの中間処理が必要である.

  • 中間処理と最終処理はパイプラインによって解決される.

  • パイプラインとは、複数のストリームが接続された構造を指す.
  • 4.distint()、filter()のフィルタ
  • 中間処理機能は、要素をフィルタリングするために使用される
  • 	distinct() : 중복제거
        
    	filter(Predicate/IntPredicate/Long../Double..)  :  조건필터링 변수 -> { true / false로 리턴 }
    5.マッピングflappMapXXX()、mapXXX()、asXXXXStream()、boxed()
  • の中間処理機能を使用して、ストリーム内の要素を別の要素で置き換えます.
  • 1) flapMapXXX( )
  • 要素の代わりに複数の要素からなる新しいストリームを返します.
  • 2) mapXXX( )
  • 要素の置換からなる新しいストリームを返す.
  • 3) asXXXStream( ), boxed( )
    	asDoubleStream() : IntStreamint, LongStreamlong요소를 
       					   double로 변환해 DoubleStream으로 생성해줌 
                           
    	asLongStream() :  IntStreamintlong으로 변환해 LongStream으로 생성 
        
    	boxed() : int,long,double 을 wrapper클래스 요소로 박싱해서 Stream으로 생성 
    6.ソート()
  • の最終処理の前に、要素を中間ステップで並べ替えて最終処理する必要があります.
    要素がオブジェクトの場合、Compareableが実装されていないオブジェクトは例外です.
  • 並べ替え()は、Comparbleを実装する要素に使用することができる.
  • 7.リングpeek()、forEach()
  • サイクルは、要素全体を繰り返します.
  • 	peek() 	  : 중간처리 메서드
        
    	forEach() : 최종처리 메서드
    8.allMatch()、anyMatch()、nonMatch()と一致する
  • の最終処理段階では、要素が特定の条件を満たしているかどうかを調べます.
    3つのマッチング方法を提供
  • 9.デフォルト統計および()、count()、average()、max()、min()
  • 統計データは最終処理機能であり、処理後は1つの値である.
    1)オプションクラス
  • は、集約値を格納するだけでなく、集約値は存在しない.
    デフォルト値を設定したり、集約値を処理するConsumerを登録したりできます.
  • 10.カスタムセットreduce()
  • のデフォルト統計に加えて、さまざまな統計結果を作成する方法が提供されます(カスタマイズにより)
  • 11.Collect()の収集
  • ストリームは、要素をフィルタまたはマッピングし、要素を収集するための最終処理方法collect()を提供する.
  • に必要な要素のみを集合として含み、これらの要素をグループ化した後に統計することができる.
  • 1)フィルタされた要素の収集
  • R collect(コレクタコレクタ)の方法は、
    フィルタまたはマッピングされた新しいコレクションを収集し、このコレクションに戻ります.
  • Collectorのインプリメンテーションオブジェクトは、Collectorsクラスのクラスメソッド(静的)を使用します.
    手に入れることができます.
  • 2)カスタムコンテナで収集
  • カスタムコンテナオブジェクト
  • を収集する方法
    3)グループ収集
  • collect()呼び出し時、CollectorsとしてのGroupingBy()/GroupingByConcurrent()
    Collectorをパラメータに代入する場合は、グループ化できます.
  • 4)グループ化後のマッピングと集約

  • Collectors.groupingBy()メソッドは、パケット化後のマッピングまたは統計に使用されます.
    2番目のパラメータはCollectorsを持つことができます.

  • GroupingBy(グループマッピング条件、マッピングまたは統計するCollectorsの方法+必要なパラメータ)
  • 12.enum列挙型

  • 相互に関連する定数のセット.

  • 列挙を比較する場合は、実際の値だけでなく、タイプもチェックします.

  • 列挙体の定数値を再定義しても、再コンパイルする必要はありません.
  • 1)列挙定義
    enum  열거형 이름 { 상수명, 상수명.. }
                           0      1      2   ...
    enum 열거형 이름{ 상수명(1),  상수명(10)... }
    열거형 상수간의 비교 : == 로 비교,
    	compareTo() 가능 :  같으면 0, 왼쪽 크면 양수, 오른쪽 크면 음수
    	< > 사용 불가
  • inta=列挙型名.定数名