Lista de colección de Scala, ListBuffer y Queue

Directorio de artículos

Lista

List en scala es diferente de javaList. List en java es una interfaz. El acceso real a los datos es ArrayList
y la lista en scala puede almacenar datos directamente. De forma predeterminada, Scala's List es inmutable. List es una secuencia
Ejemplo de operación Seq :

def testList(): Unit ={
    
    
    //默认使用不可变集合
    val list1= List(1,2,3);
    //list1
    println(list1)
    val list2 = Nil//声明空结合
    println(list2)
    //访问元素
    println(list1(1))
    //:+在最后追加元素
    var list3=list1:+4;
    println(list3)
    //追加后原集合不变 产生一个新的集合
    println(list1)
    //+: 在集合前边追加元素
    var list4 = 10+:list1
    println(list4)

    val list5= 4::5::6::list1::Nil
    /*

    1)符号::表示向右边的集合中添加元素
    2)运算时集合对象一定要放在最右边,左侧元素被添加到集合中 运算顺序 从右向左
    3):::运算符号是将集合中的每个元素加入到右侧集合中去 运算符的左右必须都是集合

    步骤说明
    1)List()
    2)list(List(1,2,3))
    3)List(6,List(1,2,3))
    4)List(5,6,List(1,2,3))
    5)List(4,5,6,List(1,2,3))
     */
    println("list5:"+list5)
    val list6 = 4::5::6::list1:::Nil
    /*
    步骤说明
    1)List()
    2)list(1,2,3)
    3)List(6,1,2,3)
    4)List(5,6,1,2,3)
    5)List(4,5,6,1,2,3)
    */
    println("list6:"+list6)

}

ListBuffer

ListBuffer es una colección de lista de variables, puede agregar o eliminar elementos, ListBuffer pertenece a la secuencia
Ejemplo:

  def test(): Unit ={
    
    
    import scala.collection.mutable.ListBuffer
    //创建集合
    val list1 = ListBuffer[Int](1,2,3);
    println(list1(1))//访问集合元素数
    //遍历集合
    for(item <-list1){
    
    
       println(item)
    }

    //动态增加元素
    list1+=4; //在最后位置追加元素
    list1.append(5)//在最后位置追加元素
    println(list1)//ListBuffer(1, 2, 3, 4, 5)

    var list2=new ListBuffer[Int]();
    list2 ++=list1
    //list1.append(5)//在最后位置追加元素
    println(list2)//ListBuffer(1, 2, 3, 4, 5)
    var list3 = list2:+5
    println("list3:"+list3)//list3:ListBuffer(1, 2, 3, 4, 5, 5)
    println("list2:"+list2)//list2:ListBuffer(1, 2, 3, 4, 5)

    //元素删除
    list2.remove(0)//根据下标删除元素
    println("list2:"+list2)//list2:ListBuffer(2, 3, 4, 5)
  }

Cola

1) La cola es una lista ordenada. La capa inferior se puede realizar por matriz o lista enlazada.
2) Siga el principio de primero en
entrar, primero en salir. 3) La cola en scala puede usar directamente Queue, scala.collection.mutalbe.Queue y scala.collection.immutalbe. Queue usa colas de colección de variables en el desarrollo general

 def test(): Unit ={
    
    
    //队列创建
    var q1= new mutable.Queue[Any]()
    println("q1:"+q1)
    //添加元素
    q1+=1
    println("q1:"+q1)
    //添加集合中的元素
    q1 ++= List(2,3,4)//追加List中的元素 List到末尾
    println("q1:"+q1)
    //添加元素
    q1 += List(5)   //将list追加到队列中
    q1.enqueue(10,11,12)//入队列 追加元素到队列尾部
    println("q1:"+q1)

    //删除元素
    //从队列头取出一个元素
    var ele=q1.dequeue();
    println("ele:"+ele)
    println("q1:"+q1)  //Queue(2, 3, 4, List(5), 10, 11, 12)
    //获取队列中的元素 但不删除
    println("head:"+q1.head)//2
    println("q1:"+q1) //Queue(2, 3, 4, List(5), 10, 11, 12)
    println("last:"+q1.last)//12
    println("q1:"+q1)//Queue(2, 3, 4, List(5), 10, 11, 12)
    println("tail:"+q1.tail)//Queue(3, 4, List(5), 10, 11, 12)
    println("q1.tail.tail.tail:"+q1.tail.tail.tail)
  }

Supongo que te gusta

Origin blog.csdn.net/zhangxm_qz/article/details/107617009
Recomendado
Clasificación