2016-01-18 2 views
-2

Что такое операция, используемая в java для представления пересечения и объединения?пересечение и объединение в java (битовые строки)

Например, {а, с} = {101 с, Ь} = 011, и результат взаимодействие должно быть 001. Если я хочу, чтобы представить это в Java 101 ∩ 011 , что операция, которая должна использовать в соответствии с ∩ и ∪?

+0

Предполагая, что вы используете Java 8, см. Ответ здесь от Silas Reinagel: http://stackoverflow.co m/questions/31683375/java-8-lambda-intersection-of-two-lists –

+1

'addAll' и' keepAll'. –

ответ

0

Посмотрите на Set Interface.

Согласно приведенному выше сайте:

s1.addAll (s2) - Преобразует s1 в объединение s1 и s2. (Объединение двух наборов - это множество, содержащее все элементы, содержащиеся в , либо в наборе.)
s1.retainAll (s2) - преобразует s1 в пересечение s1 и s2. (Пересечение двух множеств является множество, содержащее только элементы, общие для обоих множеств.)

Вот пример:

import java.util.HashSet; 
import java.util.Set; 
public class Intersection 
{ 
    public static void main(String[] args) 
    { 
     Set<String> s1 = new HashSet<String>(); 
     Set<String> s2 = new HashSet<String>(); 

     s1.add("a"); 
     s1.add("c"); 

     s2.add("b"); 
     s2.add("c"); 

     s1.retainAll(s2); 

     System.out.println(s1); 
    } 
} 

Выход из выше:

[c]

Смежные вопросы