O definir é uma interface disponível no java.util pacote. O definir interface estende a interface da coleção. Uma coleção ou lista não ordenada na qual duplicatas não são permitidas é chamada de interface de coleção . A interface set é usada para criar o conjunto matemático. A interface set utiliza métodos da interface de coleção para evitar a inserção dos mesmos elementos. Conjunto ordenado e Conjunto Navegável são duas interfaces que estendem a implementação do conjunto.
No diagrama acima, o Conjunto Navegável e Conjunto ordenado são ambas as interfaces. O Conjunto Navegável estende o SortedSet, portanto, não reterá o pedido de inserção e armazenará os dados de forma ordenada.
SetExample1.java
import java.util.*; public class setExample{ public static void main(String[] args) { // creating LinkedHashSet using the Set Set data = new LinkedHashSet(); data.add('JavaTpoint'); data.add('Set'); data.add('Example'); data.add('Set'); System.out.println(data); } }
Saída:
Nota: Ao longo da seção, compilamos o programa com o nome do arquivo e executamos o programa com o nome da classe. Porque o nome do arquivo e o nome da classe são diferentes.
Operações na interface do conjunto
No Conjunto podemos realizar todas as operações matemáticas básicas como interseção, união e diferença.
Suponha que temos dois conjuntos, ou seja, conjunto1 = [22, 45, 33, 66, 55, 34, 77] e conjunto2 = [33, 2, 83, 45, 3, 12, 55]. Podemos realizar a seguinte operação no Set:
Em conjunto, adicionarTodos() método é usado para realizar a união, reterTudo() método é usado para realizar a interseção e deletar tudo() método é usado para realizar a diferença. Vamos dar um exemplo para entender como esses métodos são usados para realizar as operações de interseção, união e diferença.
SetExample2.java
import java.util.*; public class SetOperations { public static void main(String args[]) { Integer[] A = {22, 45,33, 66, 55, 34, 77}; Integer[] B = {33, 2, 83, 45, 3, 12, 55}; Set set1 = new HashSet(); set1.addAll(Arrays.asList(A)); Set set2 = new HashSet(); set2.addAll(Arrays.asList(B)); // Finding Union of set1 and set2 Set union_data = new HashSet(set1); union_data.addAll(set2); System.out.print('Union of set1 and set2 is:'); System.out.println(union_data); // Finding Intersection of set1 and set2 Set intersection_data = new HashSet(set1); intersection_data.retainAll(set2); System.out.print('Intersection of set1 and set2 is:'); System.out.println(intersection_data); // Finding Difference of set1 and set2 Set difference_data = new HashSet(set1); difference_data.removeAll(set2); System.out.print('Difference of set1 and set2 is:'); System.out.println(difference_data); } }
Saída:
Descrição:
No código acima, primeiro criamos dois arrays, ou seja, A e B do tipo inteiro. Depois disso, criamos dois conjuntos, ou seja, set1 e set2 do tipo inteiro. Convertemos o array em uma lista e adicionamos os elementos do array A ao conjunto1 e os elementos do array B ao conjunto2.
Para realizar a união, criamos um novo conjunto dados_sindicais com o mesmo elemento do set1. Em seguida, chamamos o método addAll() de set e passamos set2 como argumento para ele. Este método adicionará todos esses elementos ao dados_sindicais que não estão presentes nele e dá a união de ambos os conjuntos.
exemplo java lambda
Para realizar a interseção, criamos um novo conjunto dados_intersecção com o mesmo elemento do set1. Em seguida, chamamos o método keepAll() de set e passamos set2 como argumento para ele. Este método obterá todos esses elementos do dados_interseção que estão presentes em set2 e os armazenam emsection_data. Agora, cross_data contém o valor de interseção de ambos os conjuntos.
Para realizar a diferença, criamos um novo conjunto dados_diferença com o mesmo elemento do set1. Em seguida, chamamos o método removeAll() de set e passamos set2 como argumento para ele. Este método removerá todos esses elementos do dados_diferença que estão presentes no conjunto2 e dá a diferença de ambos os conjuntos.
Definir métodos
Existem vários métodos disponíveis na interface do set que podemos usar para realizar uma determinada operação em nossos sets. Esses métodos são os seguintes:
1) adicionar()
O método add() insere um novo valor no conjunto. O método retorna verdadeiro e falso dependendo da presença do elemento de inserção. Retorna falso se o elemento já estiver presente no conjunto e retorna verdadeiro se não estiver presente no conjunto.
Sintaxe:
boolean add(type element).
SetExample3.java
import java.io.*; import java.util.*; public class addMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(11); data.add(61); data.add(51); System.out.println('data: ' + data); } }
Saída:
2) adicionarTodos()
O método addAll() anexa todos os elementos da coleção especificada ao conjunto.
Sintaxe:
boolean addAll(Collection data)
SetExample4.java
import java.io.*; import java.util.*; class addAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); data.addAll(newData); System.out.println('Set: ' + data); } }
Saída:
convertendo string em inteiro
3) claro()
O método remove todos os elementos do conjunto. Não exclui a referência do conjunto. Ele exclui apenas os elementos do conjunto.
Sintaxe:
void clear()
SetExample5.java
import java.io.*; import java.util.*; public class clearMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); data.clear(); System.out.println('The final set: ' + data); } }
Saída:
4) contém()
O método contains() é usado para saber a presença de um elemento no conjunto. Seu valor de retorno é verdadeiro ou falso dependendo da presença do elemento.
Sintaxe:
boolean contains(Object element)
SetExample6.java
import java.io.*; import java.util.*; class containsMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('Set: ' + data); System.out.println('Does the Set contains '91'?' + data.contains(91)); System.out.println('Does the Set contains 'javaTpoint'? ' + data.contains('4')); System.out.println('Does the Set contains '51'? ' + data.contains(51)); } }
Saída:
5) contémTodos()
O método é utilizado para verificar se todos os elementos da coleção estão disponíveis no conjunto existente ou não. Retorna verdadeiro se todos os elementos da coleção estiverem presentes no conjunto e retorna falso mesmo se um dos elementos estiver faltando no conjunto existente.
Sintaxe:
public boolean containsAll(Collection data)
SetExample7.java
import java.io.*; import java.util.*; class containsAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Set newData = new LinkedHashSet(); newData.add(31); newData.add(21); newData.add(41); System.out.println(' Does data contains newData?: '+ data.containsAll(newData)); } }
Saída:
6) hashCode()
O método é usado para derivar o valor do código hash para a instância atual do conjunto. Ele retorna o valor do código hash do tipo inteiro.
Sintaxe:
script de carregamento javascript
public int hashCode()
SetExample8.java
import java.io.*; import java.util.*; class hashCodeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println(' The hash code value of set is:'+ data.hashCode()); } }
Saída:
7) estáVazio()
O método isEmpty() é usado para identificar o vazio do conjunto. Retorna verdadeiro se o conjunto estiver vazio e retorna falso se o conjunto não estiver vazio.
Sintaxe:
boolean isEmpty()
SetExample9.java
import java.io.*; import java.util.*; class isEmptyMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println(' Is data empty?: '+ data.isEmpty()); } }
Saída:
8) iterador()
O método iterator() é usado para encontrar o iterador do conjunto. O iterador é usado para obter o elemento um por um.
Sintaxe:
Iterator iterate_value = set1.iterator();
SetExample10.java
import java.io.*; import java.util.*; class iteratorMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Iterator newData = data.iterator(); System.out.println('The NewData values are: '); while (newData.hasNext()) { System.out.println(newData.next()); } } }
Saída:
9) remover()
O método é usado para remover um elemento especificado do Conjunto. Seu valor de retorno depende da disponibilidade do elemento. Retorna verdadeiro se o elemento estiver disponível no conjunto e retorna falso se não estiver disponível no conjunto.
Sintaxe:
boolean remove(Object O)
SetExample11.java
import java.io.*; import java.util.*; class removeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); data.remove(81); data.remove(21); data.remove(11); System.out.println('data after removing elements: ' + data); } }
Saída:
11) removerTodos()
O método remove todos os elementos do conjunto existente da coleção especificada.
Sintaxe:
public boolean removeAll(Collection data)
SetExample12.java
import java.io.*; import java.util.*; class removeAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('NewData: ' + newData); data.removeAll(newData); System.out.println('data after removing Newdata elements : ' + data); } }
Saída:
11) reterTodos()
O método retém todos os elementos do conjunto especificado na coleção fornecida.
Sintaxe:
public boolean retainAll(Collection data)
SetExample13.java
import java.io.*; import java.util.*; class retainAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('newData: ' + newData); data.retainAll(newData); System.out.println('data after retaining newdata elements : ' + data); } }
Saída:
12) tamanho()
O método retorna o tamanho do conjunto.
corte de string java
Sintaxe:
int size()
SetExample14.java
import java.io.*; import java.util.*; class sizeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); System.out.println('size of the data is : ' + data.size()); } }
Saída:
13) removerTodos()
O método é usado para criar um array com os mesmos elementos do conjunto.
Sintaxe:
Object[] toArray()
SetExample15.java
import java.io.*; import java.util.*; class toArrayMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); Object[] array_data = data.toArray(); System.out.println('The array is:'); for (int i = 0; i <array_data.length; i++) system.out.println(array_data[i]); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/81/set-java-16.webp" alt="Set in Java"> <hr></array_data.length;>