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

  • Kindness

    Kindness

    23 Ocak 2006
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007