РЕДАГУВАТИ
Ось дві версії. Один використовує, ArrayList
а інший використовуєHashSet
Порівняйте їх і створіть свою власну версію з цього, поки не отримаєте те, що вам потрібно.
Цього має бути достатньо для покриття:
PS: Це не шкільне завдання :) Тож, якщо ви просто направите мене, цього буде достатньо
частина вашого запитання.
продовжуючи оригінальну відповідь:
Ви можете використовувати a java.util.Collection
та / або java.util.ArrayList
для цього.
Метод retainAll робить наступне:
Зберігає лише елементи цієї колекції, що містяться у зазначеній колекції
див. цей зразок:
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 );
}
}
РЕДАГУВАТИ
Для другої частини (подібні значення) ви можете використовувати метод removeAll :
Видаляє всі елементи цієї колекції, які також містяться у зазначеній колекції.
Ця друга версія надає також подібні значення та повторювані ручки (відкидаючи їх).
Цього разу значення Collection
може бути Set
замість a List
(різниця полягає в тому, що Set не дозволяє повторювані значення)
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);
}
}
Вихід:
$ 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]
Якщо він не робить саме того, що вам потрібно, це дає вам хороший старт, щоб ви могли впоратися звідси.
Питання для читача: Як би ви включили всі повторювані значення?