17 scalaコレクション使用

4302 ワード

1配列の使用
1.1定長配列の使用
val arr01 = new Array[Int](4)  //       ,   Int,   4   
arr01(3)=10   //      arr01    3   

1.2変数配列の使用
import scala.collection.mutable.ArrayBuffer
val arr02 = ArrayBuffer[Any](3, 2, 5)  //        Any     
 #          
 arr02(0) //     arr01      
 arr02.appned(10) //          
 arr02(0)=5   //             5
 arr02.remove(1) //        1   
#      
for (i 
#              
arr03 = arr01.toBuffer  //             
arr04 = arr02.toArray   //             

2メタグループの使用
2.1タプルの使用
注:scalaのメタグループは最大22要素しかありません
val tuple1 = (1, 2, 3, "hello", 4)   //       tuple

2.2メタグループのクエリーと遍歴
#     
tuple1._1  //           
tuple1.productElement(0)  //   productElement(index)  ,          
//    ,              
for (item 

3リストの使用
デフォルトでは、Listはscala.collection.immutable.Listです.すなわち、可変ではありません.可変タイプを使用する場合は、scala.collection.mutable.Listを使用します.
3.1可変リストの使用
val list01 = Nil  //   
list02 = List(1, 2, 3, "Hello")   #       
val list03= (1 :: 2 :: 2 :: Nil)    #           ,     ,       `::Nil`

3.2可変リストのクエリー
list02(1)  //   list01      

3.3可変リストの使用
import scala.collection.mutable.ListBuffer
val lst0 = ListBuffer[Int](1, 2, 3) //        Int     
val lst1 = ListBuffer[Int](4, 5)

3.4可変リストの追加削除
lst0(0) //      0   
lst(0) = 6 //        0     6
lst.remove(2) //        1   
#     
lst0.append(2) //           
lst0 :+ 2   //           ,   :            
2+: lst0  //           
lst0 ++= lst1 //   lst0     lst1      

4キューの使用
4.1キューの作成
import scala.collection.mutable
val q1 = new mutable.Queue[Int]  //     

4.2キュー要素の増加
#     ,              
q1 ++= List(4,5,7)    //             (9,4,5,7)
q1 += List(10,0)      //    List(10,0)             

4.3キュー要素の出入り
//dequeue            q1    
val queueElement = q1.dequeue()
println("queueElement=" + queueElement + "q1="+q1)
 //enQueue    ,           . Redis
    q1.enqueue(100,10,100,888)
    println("q1=" + q1)

4.4キュー要素の取得
//1.           
println(q1.head) //   q1      
//2.            
println(q1.last) //  q1      
//3.         , :              ,      
println(q1.tail)
println(q1.tail.tail.tail.tail) 

5 mapの使用
5.1 mapの作成
#    map   
val map1 = Map("Alice" -> 10, "Bob" -> 20, "Kotlin" -> "  ")
#   map   
import scala.collection.mutable
val map1 = new scala.collection.mutable.HashMap[String, Int]   //       map
val map2 = mutable.Map("Alice" -> 10, "Bob" -> 20, "Kotlin" -> "  ")  // key-value    
val map3 = mutable.Map(("Alice", 10), ("Bob", 20), ("Kotlin", "  "))   //           map

5.2 mapの新しい要素の追加
map1 +=  "Alice" -> 10

5.3 map値の取得方法
#   1 map(key)
map4("Alice")   //  key         java.util.NoSuchElementException: key not found    

#   2   contains        key
if (map4.contains("Alice")) {
     println("key  , =" + map4("Alice"))
   } else {
     println("key   :)")
   }
   
 #   3-  map.get(key).get  
 //1.   key   map.get(key)     Some( )  ,  Some( ).get     
 //2.   key    map.get(key)     None
 map4.get("Alice").get
 
 #   4-  map4.getOrElse()  
 map4.getOrElse("Alice", "    “)  //   key        value,        

5.4 map値の遍歴のいくつかの方式
for ((k, v) 

6 setの使用
6.1 setの作成
#    set   
val set = Set(1, 2, 3) //   
#   set   
import scala.collection.mutable
val set2 = mutable.Set(1,2,"hello")

6.2可変setセットの追加と削除要素
#   ,    
set2.add(4)
set += 4
#     ,    
set.remove(4)  //     4   
set -= 4