Scala:Mapコレクションの使用

18495 ワード

1.宣言
現在の内容は主に本人の学習と復習に用いられ、現在の内容はMapセットの使用とテストである.
参考資料: Map集合は2種類存在する
  • 修正可能Map:scala.collection.mutable.Map
  • 修正不可Map:scala.Map
  • 基本的にSet集合とは差が少ない
    2.共通の操作
    1.Mapコレクションの作成
  • var =Map()
  • var :Map[k ,v ]=Map[k ,v ]()
  • var :Map[k ,v ]=Map[k ,v ](key->value,.....)
  • var =Map(key->value,.....)
  • // 1.  map
    var map: Map[String, Any] = Map();
    var map2: Map[String, Any] = Map[String, Any]();
    var map3: Map[String, String] = Map[String, String]("name" -> "haha");
    var user = Map("name" -> "user", "age" -> 18);
    

    2.データ追加操作:map.+(k->v)およびmap+=(k->v)
     // 2.       
     println(user);
     user.+("email" -> "[email protected]");
     println(user); //     
     user = user.+("email" -> "[email protected]");
     println(user); //    
     user += ("salary" -> 100.0);
     println(user); //    
    

    3.その他の操作
     // 3.     map       map     
     println(user.size);
     println(user.isEmpty);
     //         key
     println(user.contains("name"));
    

    この操作はList,Setと一致する
    4.修正と削除操作:修正と追加と同様、削除使用(map.-(key)map-=(key))
    // 4.    
     user += ("salary" -> 1000.0);
     println(user);
    
     // 5.    
     user -= ("salary");
     println(user);
     user = user.-("email");
     println(user);
    

    5.すべてのkeyとvalueを取得:map.keysおよびmap.values
    // 6.     key    value
    println(user.keys)
    println(user.values);
    // 7.      key value
    println("=========  key value==========");
    user.foreach(k => println("key-value=" + k)); //        
    user.foreach(k => println("key=" + k._1 + ",value=" + k._2)); //   k     ,      ._1(     key), ._2(  value)
    user.keys.foreach(k => println("key=" + k + ",value=" + user(k) + ",value=" + user.get(k))); //       (key)   .get(key)     
    
    

    mapが見つかりました.foreachの場合、反復するのは元祖で、元祖のデータを使ってkeyとvalueを取得することができます.
    6.集合の操作
    // 8.     
    println("=========     ==========");
    //     
    println(user);
    var admin = Map("name" -> "admin", "email" -> "[email protected]");
    println(user.++(admin)); //    user       admin  ,    user       
    
    //         
    println(user.--(Set("name", "admin"))); //       Set    List  
    

    7.更新データ操作:map.update(key,value)
    // 9.    
     user.updated("key", "root"); //   ,      map
     user = user.updated("key", "admin"); //       
     user = user.updated("name", "bob"); //      
     println(user);
    

    3.修正可能なMapセットの操作
    
    import scala.collection.mutable.{ Map => ModifyMap };
    
    /**
     * @description              Map  
     * @author hy
     * @date 2020-06-27
     */
    object ModifyMapTest {
      var user = ModifyMap("name" -> "user", "age" -> 18);
    
      //
      def main(args: Array[String]): Unit = {
        user.put("email", "[email protected]");
        user.+("address" -> "admin's address");
        user += ("salary" -> 999.0);
        println(user); // put user+=     map,.+    map,               map  
        user.remove("email");
        println(user); //     
        //user.updated("key", "admin"); //   , scala  Map      ,    
        //user.updated("name", "bob");
        //println(user);
        //              Map   put    remove       map  
      }
    }
    

    修正可能なmapを発見することは、mapセットの修正を実現するためにputとremoveメソッドを提供することである.
    4.まとめ
    1. scala Map java , key value
    2. scala Map
    3. Map Map , Map add remove
    以上は個人的な見解ですが、問題があれば本人に連絡してください.