padTo 예제이다. 컬렉션의 길이만큼 없는 데이터는 디폴트 값으로 채운다.
List("a", "b", "c").padTo(5, "-")
res0: List[String] = List(a, b, c, -, -)
리스트의 특정 데이터의 개수를 꼭 채워야 하는 경우가 있다. 로그 저장시 데이터가 없다고 해서 그냥 두기 보다 디폴트 값같은 개념을 둔다고 생각한다.
padTo를 적용한 Log case 클래스 예제이다.
scala> case class Log(tokens: List[String]) {
| val z1 = tokens(0)
| val z2 = tokens(1)
| val z3 = tokens(2)
| val z4 = tokens(3)
| val z5 = tokens(4)
| }
defined class Log
scala> val l = new Log(List("a", "b", "c").padTo(5, "-"))
l: Log = Log(List(a, b, c, -, -))
scala> l.z1
res4: String = a
scala> l.z2
res5: String = b
scala> l.z3
res6: String = c
scala> l.z4
res7: String = -
scala> l.z5
res8: String = -
'scala' 카테고리의 다른 글
[spark] Only one SparkContext may be running in this JVM 에러 (0) | 2017.03.14 |
---|---|
[spark] submit할 때 The main method in the given main class must be static 해결하기 (0) | 2017.03.14 |
[scala] mkString 예제 (0) | 2017.03.13 |
[scala/spark] Option 관점에서 본 map/flatmap 예제 (0) | 2017.03.13 |
컬렉션의 forall과 exists 메소드 (0) | 2017.03.13 |