SORU
4 Mayıs 2010, Salı


Java İki Liste Karşılaştırın

İki liste ( java listeleri, iki sütun diyebilirsiniz) var

Örneğin

**List 1**            **Lists 2**
  milan                 hafil
  dingo                 iga
  iga                   dingo
  elpha                 binga
  hafil                 mike
  meat                  dingo
  milan
  elpha
  meat
  iga                   
  neeta.peeta    

Birçok unsuru aynı nasıl döndüren bir yöntem istiyorum. Bu örnek için olmalıdır Ve Liste ve farklı değerler de bana benzer değerleri de dönmelidir 3.

Benim sonuç almak için ne Evet hashmap kullanmalıyım?

Yardım lütfen

Sen sadece bana yol eğer yeterli olacak P. S: bir okul ödevi değil:)

CEVAP
4 Mayıs 2010, Salı


EDİT

Burada iki versiyonu. ArrayList ve diğer bir kullanma HashSet

Onları karşılaştırın ve oluşturunkendibu sürüm, size ihtiyacınız olan her şeyi elde edene kadar.

Bu karşılamak için yeterli olmalıdır:

Sen sadece bana yol eğer yeterli olacak P. S: bir okul ödevi değil:)

sorunuza bir parçası.

orijinal cevap devam:

java.util.Collection ve/veya java.util.ArrayList bunun için kullanabilirsiniz.

retainAll yöntemi aşağıdakileri yapar:

Korur, belirtilen koleksiyonda bulunan bu koleksiyon öğeleri

bakın bu örnek:

import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;

public class Repeated {
    public static void main( String  [] args ) {
        Collection listOne = new ArrayList(Arrays.asList("milan","dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"));
        Collection listTwo = new ArrayList(Arrays.asList("hafil", "iga", "binga", "mike", "dingo"));

        listOne.retainAll( listTwo );
        System.out.println( listOne );
    }
}

EDİT

( Benzer değerler ) ikinci bölümü için removeAll yöntemi kullanabilirsiniz:

Bu koleksiyon kaldırır da, belirtilen koleksiyonda içerdiği öğeleri.

Bu ikinci versiyonu da benzer değerleri ve kolları ve defalarca onları atarak) verir.

Bu sefer Collection List ( fark, Set yinelenen değerlere izin vermez) yerine Set olabilir

import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;

class Repeated {
      public static void main( String  [] args ) {

          Collection<String> listOne = Arrays.asList("milan","iga",
                                                    "dingo","iga",
                                                    "elpha","iga",
                                                    "hafil","iga",
                                                    "meat","iga", 
                                                    "neeta.peeta","iga");

          Collection<String> listTwo = Arrays.asList("hafil",
                                                     "iga",
                                                     "binga", 
                                                     "mike", 
                                                     "dingo","dingo","dingo");

          Collection<String> similar = new HashSet<String>( listOne );
          Collection<String> different = new HashSet<String>();
          different.addAll( listOne );
          different.addAll( listTwo );

          similar.retainAll( listTwo );
          different.removeAll( similar );

          System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
      }
}

Çıkış:

$ java Repeated
One:[milan, iga, dingo, iga, elpha, iga, hafil, iga, meat, iga, neeta.peeta, iga]

Two:[hafil, iga, binga, mike, dingo, dingo, dingo]

Similar:[dingo, iga, hafil]

Different:[mike, binga, milan, meat, elpha, neeta.peeta]

Eğer tam olarak neye ihtiyacınız mı değil mi, buradan halledebilirsin çok iyi bir başlangıç verir.

Okuyucuya soru: Nasıl yinelenen değerler vardır ki?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • SegaAmerica

    SegaAmerica

    5 Mart 2008