스칼라에서 2 개의 케이스 클래스 인스턴스 비교

Gaurav Gupta

케이스 클래스가 있고 Person (name : String, age : Int, address : String)이라고 말할 수 있으며 인스턴스 목록이 있습니다.

object HelloWorld {
   def main(args: Array[String]) {
      case class Person(name: String,age: Int,location :String)
      val per1=Person("gaurav",21,"chennai")
      val per2=Person("gaurav",21,"pune")
      
      val per3=Person("sur",26,"delhi")
      
      val lst=per1::per2::per3::Nil
}
}

이 케이스 클래스의 인스턴스를 이름과 나이라고하는 두 필드에서만 비교하고 중복 된 항목이 있으면 제거하려면 어떻게해야합니까?

jwvh

Scala 2.13.x를 사용하는 경우 distinctBy().

List(Person("gaurav",21,"chennai")
    ,Person("gaurav",21,"pune")
    ,Person("sur",26,"delhi"))
  .distinctBy(p => (p.name,p.age))
//res0: List[Person] = List(Person(gaurav,21,chennai), Person(sur,26,delhi))

스케일 2.13.x 이전

없이는 distinctBy()아마도 List결과를 만들기 위해 접을 것입니다 .

....foldLeft((List.empty[Person],Set.empty[(String,Int)])){
     case ((acc,seen), prsn@Person(nm,age,_)) => 
       if (seen(nm -> age)) (acc, seen)
       else (prsn::acc, seen+(nm -> age))
   }._1.reverse
//same result

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 클래스의 2 개 인스턴스의 공통 필드 비교

분류에서Dev

두 개의 다른 클래스 인스턴스를 가져 와서 비교 (Java)

분류에서Dev

scala.collection.mutable.PriorityQueue : 케이스 클래스의 2 개 이상의 속성과 비교

분류에서Dev

기본 클래스의 파생 개체 2 개 비교

분류에서Dev

두 개의 Integer Wrapper 클래스 비교

분류에서Dev

클래스의 인스턴스를 새 인스턴스로 교체

분류에서Dev

Scala에서 케이스 클래스의 인스턴스로 null 캐스팅

분류에서Dev

스칼라의 동일한 인스턴스에서 2 개의 메소드 실행

분류에서Dev

스칼라에서 케이스 클래스 메소드 재정의

분류에서Dev

다른 클래스의 인스턴스로서의 스칼라 싱글 톤

분류에서Dev

Linux 시스템에서 install4j 애플리케이션 서비스의 2 개의 개별 인스턴스를 생성하는 방법

분류에서Dev

부모 클래스가 동일한 파생 클래스의 인스턴스 비교

분류에서Dev

AS3 : 같은 클래스 (스테이지에서)의 이름없는 인스턴스 두 개 (또는 그 이상)를 비교합니까?

분류에서Dev

Xamarin.Froms-viewmodel 생성자에서 2 개의 서비스 인스턴스화

분류에서Dev

스칼라에서 == 문자 비교

분류에서Dev

2 개의 다른 클래스 라이브러리 프로젝트에서 클래스를 인스턴스화 할 수 없습니다.

분류에서Dev

클래스 콜백 (비 인스턴스)

분류에서Dev

두 개의 joda DateTime 인스턴스 비교

분류에서Dev

Coq : 클래스 인스턴스 전개

분류에서Dev

스칼라 자체가 트레이 트 내의 케이스 클래스에서 인식되지 않습니다.

분류에서Dev

android-서비스 클래스의 인스턴스 생성의 의미

분류에서Dev

C # 2 개의 클래스에서 개체 / 인스턴스의 값을 참조 / 사용 / 설정하는 방법

분류에서Dev

angluar2에 애플리케이션 서비스 인스턴스 삽입

분류에서Dev

클래스의 인스턴스 찾기

분류에서Dev

Python 2에서 기존 클래스의 인스턴스에 속성 추가

분류에서Dev

스칼라의 모의 케이스 클래스 : Mockito

분류에서Dev

C #에서 일반 클래스 유형의 두 개체 비교

분류에서Dev

스칼라의 내부 케이스 클래스

분류에서Dev

2 개의 텍스트 파일 비교

Related 관련 기사

  1. 1

    다른 클래스의 2 개 인스턴스의 공통 필드 비교

  2. 2

    두 개의 다른 클래스 인스턴스를 가져 와서 비교 (Java)

  3. 3

    scala.collection.mutable.PriorityQueue : 케이스 클래스의 2 개 이상의 속성과 비교

  4. 4

    기본 클래스의 파생 개체 2 개 비교

  5. 5

    두 개의 Integer Wrapper 클래스 비교

  6. 6

    클래스의 인스턴스를 새 인스턴스로 교체

  7. 7

    Scala에서 케이스 클래스의 인스턴스로 null 캐스팅

  8. 8

    스칼라의 동일한 인스턴스에서 2 개의 메소드 실행

  9. 9

    스칼라에서 케이스 클래스 메소드 재정의

  10. 10

    다른 클래스의 인스턴스로서의 스칼라 싱글 톤

  11. 11

    Linux 시스템에서 install4j 애플리케이션 서비스의 2 개의 개별 인스턴스를 생성하는 방법

  12. 12

    부모 클래스가 동일한 파생 클래스의 인스턴스 비교

  13. 13

    AS3 : 같은 클래스 (스테이지에서)의 이름없는 인스턴스 두 개 (또는 그 이상)를 비교합니까?

  14. 14

    Xamarin.Froms-viewmodel 생성자에서 2 개의 서비스 인스턴스화

  15. 15

    스칼라에서 == 문자 비교

  16. 16

    2 개의 다른 클래스 라이브러리 프로젝트에서 클래스를 인스턴스화 할 수 없습니다.

  17. 17

    클래스 콜백 (비 인스턴스)

  18. 18

    두 개의 joda DateTime 인스턴스 비교

  19. 19

    Coq : 클래스 인스턴스 전개

  20. 20

    스칼라 자체가 트레이 트 내의 케이스 클래스에서 인식되지 않습니다.

  21. 21

    android-서비스 클래스의 인스턴스 생성의 의미

  22. 22

    C # 2 개의 클래스에서 개체 / 인스턴스의 값을 참조 / 사용 / 설정하는 방법

  23. 23

    angluar2에 애플리케이션 서비스 인스턴스 삽입

  24. 24

    클래스의 인스턴스 찾기

  25. 25

    Python 2에서 기존 클래스의 인스턴스에 속성 추가

  26. 26

    스칼라의 모의 케이스 클래스 : Mockito

  27. 27

    C #에서 일반 클래스 유형의 두 개체 비교

  28. 28

    스칼라의 내부 케이스 클래스

  29. 29

    2 개의 텍스트 파일 비교

뜨겁다태그

보관