Тхе комплет је интерфејс доступан у јава.утил пакет. Тхе комплет интерфејс проширује интерфејс колекције. Неуређена колекција или листа у којој дупликати нису дозвољени назива се а интерфејс за прикупљање . Интерфејс скупа се користи за креирање математичког скупа. Интерфејс скупа користи методе интерфејса за прикупљање да би се избегло уметање истих елемената. СортедСет и НавигаблеСет су два интерфејса која проширују имплементацију скупа.
У горњем дијаграму, НавигаблеСет и СортедСет су оба интерфејса. Тхе НавигаблеСет проширује СортедСет, тако да неће задржати редослед уметања и ускладиштити податке на сортиран начин.
СетЕкампле1.јава
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); } }
Излаз:
Напомена: У целом одељку смо саставили програм са именом датотеке и покренули програм са именом класе. Зато што се име датотеке и име класе разликују.
Операције на интерфејсу скупа
На скупу можемо да изведемо све основне математичке операције као што су пресек, унија и разлика.
Претпоставимо да имамо два скупа, тј. сет1 = [22, 45, 33, 66, 55, 34, 77] и сет2 = [33, 2, 83, 45, 3, 12, 55]. На сету можемо извршити следећу операцију:
у сету, аддАлл() метода се користи за обављање синдиката, задржати све() метода се користи за извођење раскрснице и уклони све() метода се користи за извођење разлике. Узмимо пример да разумемо како се ове методе користе за извођење операција пресека, уједињења и разлике.
СетЕкампле2.јава
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); } }
Излаз:
Опис:
У горњем коду, прво креирамо два низа, тј. А и Б типа цео број. Након тога креирамо два скупа, односно сет1 и сет2 типа цео број. Конвертујемо оба низа у листу и додајемо елементе низа А у сет1 и елементе низа Б у сет2.
За извођење синдиката креирамо нови сет унион_дата са истим елементом скупа1. Затим позивамо аддАлл() метод скупа и прослеђујемо сет2 као аргумент. Овај метод ће додати све те елементе у унион_дата којих у њему нема и даје унију оба скупа.
За извођење раскрснице креирамо нови скуп подаци о раскрсници са истим елементом скупа1. Затим позивамо ретаинАлл() метод скупа и прослеђујемо сет2 као аргумент. Овај метод ће добити све те елементе из подаци о раскрсници који су присутни у скупу2 и чувају га у интерсецтион_дата. Сада, интерсецтион_дата садржи вредност пресека оба скупа.
За извођење разлике креирамо нови сет разлика_подаци са истим елементом скупа1. Затим позивамо методу ремовеАлл() скупа и прослеђујемо сет2 као аргумент. Овај метод ће уклонити све те елементе из разлика_подаци који су присутни у скупу2 и даје разлику оба скупа.
Сет Метходс
Постоји неколико метода доступних у интерфејсу скупа које можемо користити да извршимо одређену операцију на нашим скуповима. Ове методе су следеће:
1) адд()
Метода адд() убацује нову вредност у скуп. Метод враћа тачно и нетачно у зависности од присуства елемента за уметање. Враћа нетачно ако је елемент већ присутан у скупу и враћа труе ако није присутан у скупу.
Синтакса:
речник Ц#
boolean add(type element).
СетЕкампле3.јава
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); } }
Излаз:
2) аддАлл()
Метода аддАлл() додаје све елементе наведене колекције скупу.
Синтакса:
boolean addAll(Collection data)
СетЕкампле4.јава
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); } }
Излаз:
питхон торке за сортирање
3) цлеар()
Метода уклања све елементе из скупа. Не брише референцу скупа. Само брише елементе скупа.
Синтакса:
void clear()
СетЕкампле5.јава
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); } }
Излаз:
4) садржи()
Метода цонтаинс() се користи да би се сазнало присуство елемента у скупу. Његова повратна вредност је тачна или нетачна у зависности од присуства елемента.
Синтакса:
boolean contains(Object element)
СетЕкампле6.јава
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)); } }
Излаз:
5) садржиСве()
Метода се користи за проверу да ли су сви елементи колекције доступни у постојећем скупу или не. Враћа тачно ако су сви елементи колекције присутни у скупу и враћа нетачно чак и ако један од елемената недостаје у постојећем скупу.
Синтакса:
public boolean containsAll(Collection data)
СетЕкампле7.јава
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)); } }
Излаз:
6) хасхЦоде()
Метода се користи за извођење вредности хеш кода за тренутну инстанцу скупа. Враћа вредност хеш кода целобројног типа.
Синтакса:
public int hashCode()
СетЕкампле8.јава
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()); } }
Излаз:
7) исЕмпти()
Метод исЕмпти() се користи за идентификацију празнине скупа. Враћа тачно ако је скуп празан и враћа нетачно ако скуп није празан.
Синтакса:
boolean isEmpty()
СетЕкампле9.јава
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()); } }
Излаз:
8) итератор()
Метода итератор() се користи за проналажење итератора скупа. Итератор се користи за добијање елемента један по један.
Синтакса:
Iterator iterate_value = set1.iterator();
СетЕкампле10.јава
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()); } } }
Излаз:
мапа куцаним писмом
9) уклони ()
Метод се користи за уклањање одређеног елемента из скупа. Његова повратна вредност зависи од доступности елемента. Враћа тачно ако је елемент доступан у скупу и враћа нетачно ако је недоступан у скупу.
Синтакса:
boolean remove(Object O)
СетЕкампле11.јава
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); } }
Излаз:
11) уклони све()
Метода уклања све елементе постојећег скупа из наведене колекције.
Синтакса:
public boolean removeAll(Collection data)
СетЕкампле12.јава
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); } }
Излаз:
Пример јава мапе
11) задржати све()
Метод задржава све елементе из скупа наведеног у датој колекцији.
Синтакса:
public boolean retainAll(Collection data)
СетЕкампле13.јава
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); } }
Излаз:
12) сизе()
Метод враћа величину скупа.
Синтакса:
int size()
СетЕкампле14.јава
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()); } }
Излаз:
13) уклони све()
Метод се користи за креирање низа са истим елементима скупа.
Синтакса:
Object[] toArray()
СетЕкампле15.јава
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;>