title: Removing elements from a list which are not in another list - Kotlin
body: <p>I have two mutableLists, listOfA has so many objects including duplicates while listOfB has fewer. So I want to use listOfB to filter similar objects in listOfA so all list will have equal number of objects with equivalent keys at the end. Code below could explain more.</p>
  
  <pre><code>fun main() {
      test()
  }
  
  data class ObjA(val key: String, val value: String)
  data class ObjB(val key: String, val value: String, val ref: Int)
  
  fun test() {
      val listOfA = mutableListOf(
              ObjA("one", ""),
              ObjA("one", "o"),
              ObjA("one", "on"),
              ObjA("one", "one"),
  
              ObjA("two", ""),
              ObjA("two", "2"),
              ObjA("two", "two"),
  
              ObjA("three", "3"),
              ObjA("four", "4"),
              ObjA("five", "five")
      )
  
      //Use this list's object keys to get object with similar keys in above array.
      val listOfB = mutableListOf(
              ObjB("one", "i", 2),
              ObjB("two", "ii", 5)
      )
  
      val distinctListOfA = listOfA.distinctBy { it.key } //Remove duplicates in listOfA
  
      /*    
      val desiredList = doSomething to compare keys in distinctListOfA and listOfB
      for (o in desiredList) {
          println("key: ${o.key}, value: ${o.value}")
      }
      */
  
      /* I was hoping to get this kind of output with duplicates removed and comparison made.
        key: one, value: one
        key: two, value: two
       */
  }
  </code></pre>