Zakria Bilal
Zakria Bilal

Reputation: 11

finding the duplicated values in List of String Dart

i have the following list with duplicate values and i need to check if the values is duplicated print it else skip it

List lst = ["AA","BB","BBB","AA"];

what should printed is :

AA

Thanks ;

Upvotes: 1

Views: 2693

Answers (3)

Gabriel Pagotto
Gabriel Pagotto

Reputation: 61

lst.where((e) => lst.where((element) => element == e).length > 1).toSet().toList();

One Liner

Upvotes: 1

Balaji
Balaji

Reputation: 2077

 List lst = ["AA","BB","BBB","AA"];
  
  int duplicateDetectedCount = -1;
  
  String duplicateItem = "";
  
  for(String item in lst){  
    for(String innerItem in lst){
      if(item == innerItem){
        duplicateDetectedCount++;
        if(duplicateDetectedCount == 1){
          duplicateItem = innerItem;
        }
      }
    }
  }
  
  print(duplicateItem); // prints AA

Upvotes: 0

Alex Baban
Alex Baban

Reputation: 11722

Would this work for you?

List list = ["AA", "BB", "BBB", "AA"];
List distinctList = list.toSet().toList();

void main() {

  for (int i = 0; i < distinctList.length; i++) {
    list.remove(distinctList[i]);
  }

  //// or you could use a "for in" like this:
  // for (var item in distinctList) {
  //   list.remove(item);
  // }

  print(list.toSet().toList());

}


Or using forEach() on the Set

List list = ['AA', 'BB', 'BBB', 'AA'];

void main() {
  list.toSet().forEach((item) => {list.remove(item)});

  print(list.toSet().toList());
}

Upvotes: 3

Related Questions