object Main2 extends App{
println("test:")
  val b = List("banana", "pear", "apple", "orange").sorted.foreach(println)

  val c =List(10,5,4,8,1)
  print(c)

  List(10, 5, 8, 1, 7).sortWith(_ > _).sorted.foreach(println)

  val x = List.range(1,10)
  println(x)


  val names = List("Bob", "Fred", "Joe", "Julia", "Kim")

  for (noms <- names) println(noms)

  println("with J")
  for (name <- names if name.startsWith("J"))
    println(name)

  println("valeur paire")
  val evens = x.filter(a => a % 2 == 0)
  println("evens")
  print(evens)

  println("copier par deux")
  val doubler = x.map(a => a * 2)
  println(doubler)

  val z1 = x.map(_ * 2)
  println(z1)

  val names1 = List("Fred", "Joe", "Bob")
  val lower = names1.map(_.toLowerCase)
  println(lower)

  println("result traitement list:")

  val a = List(10, 20, 30, 40, 10)
  println(a)
  a.drop(2)
  println(a)
  println(a.drop(20))
  println(a.dropWhile(_ < 25))

  println(a.filter(_ < 25))

  println(a.slice(2,4))
  println(a.take(3))
  println(a.tail)

  val x1 = List.tabulate(5)(n => n * n)
  println(x1)

  val d = List(1,2,3)

  val e = List(4,5,6)
  val g = List.concat(d, e)
  println(g)

  (1 to 6).toList

  (1 until 5).toList
  //   List(1, 2, 3, 4)

 println( (1 to 10 by 2).toList)
  //List(1, 3, 5, 7, 9)

  (1 until 10 by 2).toList

  ('d' to 'h').toList

  val fruits = List("apple", "pear")
  println(fruits.map(_.toUpperCase))

  println(fruits.flatMap(_.toUpperCase))


  val name2=Array(1,2,3,4,5,6,7).reduce((e1,e2) => e1+e2)
  println(name2)

  //tupple

  println("tupple")

  val myTuple = (3500, "Foo")

  println(myTuple._1) // 3500
  println(myTuple._2) // Foo


  val l = List(1,2,3,4,5)

  println(l)
  println("l.map(x => x*2)")
  println(l.map(x => x*2))

println("fonction")
  def f(x: Int) = if (x > 2) Some(x) else None
  l.map(x => f(x))
  println(l.map(x => f(x)))


  //pattern matching
  val name = "Max"

  name match {
    // test on exact value
    case "Phil" =>
      println("It's Phil")
    case "Max" =>
      println("Oh it's Max")
    // default case
    case _ =>
      println("Not recognized")
  }

  //Map vers List
    println("traitement de Map vers list:")
  var m = Map(1 -> 2, 2 -> 4, 3 -> 6)
  println(m)

  println(m.keys)
  println(m.values)

  //insertion d'un élément d'une map

  //insertion d'un élément
  m  += (4-> 8)
  println(m)

  println("HERE")
  println(m.toList)
  println(m.toVector)


  val fruits2 = Seq("apple", "banana", "orange")
  println(fruits2)

  println(fruits2.map(_.toUpperCase))

  println(fruits2.flatMap(_.toUpperCase))

//avec flatten
  val mapResult = fruits2.map(_.toUpperCase)
  val flattenResult = mapResult.flatten
  println(flattenResult )


  val list = List(1,2,3,4,5)
println(list)

  def g(v:Int) = List(v-1, v, v+1)

  //list.map(f = x => g(x))

  val map = Map(1 -> "one", 2 -> "two", 3 -> "three")

 println( 1 to map.size flatMap(map.get))




}
Retour à l'accueil