package org.xj.scala.spark
/**
* 集合,Lise,Set,Map,Tuple
*/
class Basic6 {
}
object Basic6 extends App {
val l = List(1, 2, 3) //值允许重复
//println(l)
val ll = l.map(2 * _) //_相当于l里面的每一个元素,这里写法等价于-->l.map((x:Int)=>2*x) l.map((x) => 2*x) l.map(x => 2*x)
//println(ll)
val s = Set(1, 2, 1) //值不允许重复
//println(s)
//Tuple元组类型操作
val hostPort = ("localhost", "8080")
//println(hostPort )
//访问元组信息的方式-->做模式匹配用的很多
//println(hostPort._1)
//println(hostPort._2)
val x = "a" -> "b" //等价 (String,String) => (a,b)
//println(x)
//Map操作
val m = Map(1 -> "ccc") // Map("a"->"b","a"->"c","a"->"f")
//println(m)
val m1 = Map("a" -> "b", "b" -> "c", "c" -> "f")
//println(m1("a"))
//Option操作---表示可有可无的值
val m2 = Map(1 -> 2)
// println(m2(1))
// println(m2.get(1)) //--Some(2)
// println(m2.get(1).get) //--2
// println(m2.get(0).getOrElse("None")) //-- None,不存在的值
val a = List(1, 2, 3, 4, 5, 6, 7)
// println(a.map(3 * _)); //map,有返回值List(3, 6, 9, 12, 15, 18, 21)---迭代
//
// println(a.foreach(3*_)) //遍历,foreach没有返回值()---类似map没有但是没有返回值
//println(a.filter(x => x % 2 == 0)) //filter--过滤
//val b = List(1,2,3)
val b = List(1, 2, 3, 4)
val c = List(4, 5, 6)
//println(b.zip(c)) //zip聚合,a为基准和b配对,
//println(b zip c)
//println(a.partition(_ % 2 == 0)) //partition 列表分割,把偶数和基数分开存放得到两个List
val d = List(List("a","b"),List("c","d")).flatten //flatten扁平化,多个List变成一个List
//println(d)
val e = List(List(1,2),List(3,4)).flatMap(x=>x.map(_*2)) //flatMap (map+flatten) 迭代+扁平化
println(e)
}
/**
* 集合,Lise,Set,Map,Tuple
*/
class Basic6 {
}
object Basic6 extends App {
val l = List(1, 2, 3) //值允许重复
//println(l)
val ll = l.map(2 * _) //_相当于l里面的每一个元素,这里写法等价于-->l.map((x:Int)=>2*x) l.map((x) => 2*x) l.map(x => 2*x)
//println(ll)
val s = Set(1, 2, 1) //值不允许重复
//println(s)
//Tuple元组类型操作
val hostPort = ("localhost", "8080")
//println(hostPort )
//访问元组信息的方式-->做模式匹配用的很多
//println(hostPort._1)
//println(hostPort._2)
val x = "a" -> "b" //等价 (String,String) => (a,b)
//println(x)
//Map操作
val m = Map(1 -> "ccc") // Map("a"->"b","a"->"c","a"->"f")
//println(m)
val m1 = Map("a" -> "b", "b" -> "c", "c" -> "f")
//println(m1("a"))
//Option操作---表示可有可无的值
val m2 = Map(1 -> 2)
// println(m2(1))
// println(m2.get(1)) //--Some(2)
// println(m2.get(1).get) //--2
// println(m2.get(0).getOrElse("None")) //-- None,不存在的值
val a = List(1, 2, 3, 4, 5, 6, 7)
// println(a.map(3 * _)); //map,有返回值List(3, 6, 9, 12, 15, 18, 21)---迭代
//
// println(a.foreach(3*_)) //遍历,foreach没有返回值()---类似map没有但是没有返回值
//println(a.filter(x => x % 2 == 0)) //filter--过滤
//val b = List(1,2,3)
val b = List(1, 2, 3, 4)
val c = List(4, 5, 6)
//println(b.zip(c)) //zip聚合,a为基准和b配对,
//println(b zip c)
//println(a.partition(_ % 2 == 0)) //partition 列表分割,把偶数和基数分开存放得到两个List
val d = List(List("a","b"),List("c","d")).flatten //flatten扁平化,多个List变成一个List
//println(d)
val e = List(List(1,2),List(3,4)).flatMap(x=>x.map(_*2)) //flatMap (map+flatten) 迭代+扁平化
println(e)
}