Scala:OptionとIteratorの使用

10079 ワード

1.宣言
現在の内容は主に本人の学習と復習に用いられ、現在の内容は主にOptionとIteratorのテストと使用である.
参考資料: 2.試験Option
1.作成方法:
  • var =Option( )
  • var =Option[ ]( )
  • var :Option[ ]=Option[ ]( )
  •  //     Option   
      var nullOpt = Option(null);
      var valueOpt = Option[String]("999");
    
      var map = Map("name" -> "  ");
    
      var name: Option[String] = map.get("name");
    
      var opt: Option[Int] = Some(5);
      var opt2: Option[Int] = None;
    
    

    前のNoneもSomeもOptionタイプのデータです
    2.使用:
    
      def main(args: Array[String]): Unit = {
        // nullOpt.get //          
        println(nullOpt.getOrElse("9999")); //      
        println(nullOpt.orNull); //        null     null,     
        println(nullOpt.isEmpty); //     
    
        println(valueOpt.get); //      ,     ,          
    
      }
    

    Optionに含まれる値がnullの場合、get方式で取得するとエラーが発生し、getOrElseまたはorNullのみでデータを取得できます.
    個人的にはJavaのOptional方式とはあまり差がないような気がします
    3.Iteratorテスト
    1.作成方法:var =Iterator( ...)
    // 1.           
      var intIter = Iterator(1, 2, 3, 4, 5, 6);
      var strIter = Iterator("name", "age", true, 10, 100.0);
      var mixIter: Iterator[String] = Iterator("name", "age");
    

    2.テスト
     def printIterator[T](iter: Iterator[T]) {
        var count = 0;
        // var len = iter.size;//          ?,          ?
        // len = iter.length;
        print("Iterator[");
        while (iter.hasNext) {
          println(iter.next())
        }
        print("]\t");
      }
    
      def main(args: Array[String]): Unit = {
        printIterator(strIter);
        println("
    ===="
    ); println(intIter.max); println(" mixIter :" + mixIter.length); // 2 println(" mixIter :" + mixIter.size); // 0, printIterator(mixIter); // // mixIter min max }

    現在の反復器でsizeとlengthの取得操作が使用されると、反復されたデータは空であり、反復されるとmaxは取得されません.
    4.まとめ
    1. Option Java Optional
    2. Iterator length max size,
    以上は個人的な見解ですが、問題があれば本人に連絡してください.