80 Java Въпроси и отговори за интервю с колекции (2025)

Тук са Java Колекции Въпроси за интервю за по-свежи и опитни кандидати, за да получат мечтаната работа.

 

Java Въпроси и отговори за интервю за колекции за първокурсници

1) Какво представлява рамката Java?

Рамката е популярна и готова архитектура, която съдържа набор от класове и интерфейси.


2) В какво е рамката на колекцията Java?

Collection Framework е групиране на класове и интерфейси, които се използват за съхраняване и управление на обектите. Той предоставя различни класове като Vector, ArrayList, HashSet, Stack и др. Java Рамката за събиране може да се използва и за интерфейси като Queue, Set, List и др.

Java Въпроси за интервю за колекции


3) Обяснете класа Collections

java.util.Collections е клас, състоящ се от статични методи, които работят върху колекции. Той съдържа полиморфни алгоритми за работа с колекции, „обвивки“. Този клас съдържа методи за алгоритми, като двоично сортиране, търсене, разбъркване и т.н.


4) Какво е hashCode()?

HashCode() е метод, който връща целочислен хеш код.


5) Правете разлика между ArrayList и Vector в Java колекция рамка.

ArrayList Вектор
ArrayList не може да се синхронизира. Векторът може да бъде синхронизиран.
Това не е наследен клас. Това е наследен клас.
Може да увеличи размера си с 50% от размера на масива. Той може да увеличи размера си чрез удвояване на размера на масива.
ArrayList не е безопасен за нишки. Vector е безопасен за нишки.

6) В какво се намира ArrayList Java?

ArrayList е структура от данни, която може да бъде разтегната, за да побере допълнителни елементи в себе си и да се свие обратно до по-малък размер, когато елементите бъдат премахнати. Това е много важна структура от данни, полезна при управлението на динамичното поведение на елементите.


7) Правете разлика между Iterator и ListIterator

Разликата между Iterator и ListIterator е:

Итератор ListIterator
Итераторът може да обхожда елементите на масива в посока напред. ListIterator може да обхожда елементите на масива в посоки назад, както и напред.
Може да се използва в опашка, списък и набор. Може да се използва в List.
Може да извършва само операция за премахване. Той може да извършва операция за добавяне, премахване и задаване, докато обикаля колекцията.

8) Каква е разликата между итератор и изброяване?

Разликата между итератор и изброяване

Итератор изброяване
Итераторът може да обхожда както наследени, така и ненаследени елементи. Изброяването може да обхожда само наследени елементи.
Итераторът е бърз на грешки. Изброяването не е бързо.
Итераторът е много бавен в сравнение с изброяването. Изброяването е бързо в сравнение с итератора.
Итераторът може да извърши операция за премахване, докато обхожда колекцията. Изброяването може да извършва само операция за преминаване на колекцията.

9) Дефинирайте BlockingQueue

BlockingQueue е интерфейс, използван в Java които могат да удължат опашката. Той осигурява паралелност в различни операции на опашка като извличане, вмъкване, изтриване и т.н.

Опашката чака да стане непразна по време на извличане на елементи. BlockingQueue не трябва да съдържа нулеви елементи. Реализацията на тази опашка е безопасна за нишки.

Синтаксисът на BlockingQueue е:

public interface BlockingQueue<E> extends Queue <E>

10) Обяснете отмяната на метода equals().

Методът equals се използва за проверка на приликата между два обекта. В случай, че програмистът иска да провери обект въз основа на свойството, тогава той трябва да бъде заменен.


11) Каква е разликата между Comparable и Comparator?

Разликата между Comparable и Comparator е:

Сравним Сравняване
Comparable предоставя метод compareTo() за сортиране на елементи Java. Comparator предоставя метод compare() за сортиране на елементи Java.
Сравним интерфейс присъства в пакета java.lang. Интерфейсът за сравнение присъства в java. помощен пакет.
Логиката на сортиране трябва да е в същия клас, чийто обект ще сортирате. Логиката на сортиране трябва да бъде в отделен клас, за да се напише различно сортиране въз основа на различни атрибути на обекти.
Класът, чиито обекти искате да сортирате, трябва да имплементира сравнимия интерфейс. Класът, чиито обекти искате да сортирате, не е необходимо да имплементира интерфейс за сравнение.
Той предоставя единични последователности за сортиране. Той предоставя множество последователности за сортиране.
Този метод може да сортира данните според естествения ред на сортиране. Този метод сортира данните според персонализирания ред на сортиране.
Това засяга оригиналния клас. т.е. действителният клас се променя. Това не засяга оригиналния клас, т.е. действителният клас не се променя.
Внедрява се често в API от календар, класове обвивка, дата и низ. Той е реализиран за сортиране на екземпляри на класове на трети страни.
Всички класове обвивки и клас String реализират сравнимия интерфейс. Единствените внедрени класове на Comparator са Collator и RuleBasedColator.

12) Обяснете equals() с пример

Equals() проверява дали числовият обект е равен на обекта, който се предава като аргумент или не.

Синтаксисът на метода equals() е:

public boolean equals(Object o)

Този метод приема два параметъра 1) всеки обект, 2) върната стойност. Връща истина, ако предаденият аргумент не е нула и е обект от подобен тип със същата числова стойност.

Пример:

import java.lang.Integer;
public class Test { 
   public static void main(String args[]) {
      Integer p = 5;
      Integer q = 20;
      Integer r =5;
      Short s = 5;
      System.out.println(p.equals(q));  
      System.out.println(p.equals(r)); 
      System.out.println(p.equals(s));
   }
}

13) Избройте ползите от генеричното събиране

Ползите от използването на генеричната колекция са:

  • Ако програмистите използват общ клас, те не изискват преобразуване на типове.
  • Той е безопасен за типа и може да бъде проверен по време на компилация.
  • Той осигурява стабилността на кода чрез откриване на грешка по време на компилация.

14) Обяснете метода за преобразуване на ArrayList в Array и Array в ArrayList

Програмистите могат да конвертират масив в ArrayList, като използват метода asList() на класа Arrays. Това е статичен метод на клас Arrays, който приема обекта List. Синтаксисът на метода asList() е:

Arrays.asList(item)

Java програмистите могат да конвертират ArrayList в обекта List, използвайки синтаксис:

List_object.toArray(new String[List_object.size()])

15) Дайте пример за ArrayList

Примерът за обратен ArrayList е:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

16) Дайте пример за сортиране на масив в низходящ ред

Примерът за сортиране на масив в низходящ ред е:

package com.guru99;

public class SelectionSortAlgo {
 
	public static void main(String a[])
	{  
		int[] myArray = {860,8,200,9}; 
		
		System.out.println("------Before Sort-----");
 
		printArray(myArray);
 		selection(myArray);//sorting array using selection sort  
 		System.out.println("-----After Sort-----");  
		printArray(myArray); 
	} 
		public static void selection(int[] array)
	{  
		for (int i = 0; i < array.length - 1; i++)  
		{  System.out.println("Sort Pass Number "+(i+1));
			int index = i;  
			for (int j = i + 1; j < array.length; j++)
			{   
			    System.out.println("Comparing "+ array[index]  + " and " + array[j]);  
				if (array[j] < array[index]){ 
				System.out.println(array[index]  + " is greater than " + array[j] );
					index = j;		
				}  
			}  
			int smallerNumber = array[index];   
			array[index] = array[i];  
			array[i] = smallerNumber;  
			System.out.println("Swapping Elements: New Array After Swap");
			printArray(array);
		}  
	}  
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();   
	}
}

17) Обяснете основните интерфейси на Java рамка на колекциите

Java рамката на колекцията е корен на йерархията на колекцията. Той представлява група от обекти като негови елементи. The Java езикът за програмиране не осигурява пряка реализация на такъв интерфейс.

  • Комплект: Наборът е колекция без дублиращи се елементи. Той използва hashtable за съхраняване на елементи.
  • Списък: Списъкът е подредена колекция, която може да съдържа дублирани елементи. Той позволява на разработчиците достъп до всякакви елементи от входящата му кутия. Списъкът е като масив с динамична дължина.
  • КАРТА: Това е обект, който картографира ключове към стойности. Не може да съдържа дублиращи се ключове. Всеки ключ може да бъде съпоставен с поне една стойност.

18) Какви са характеристиките на Java Hashmap?

Характеристики на Java Hashmap са:

  • Стойностите могат да се съхраняват в карта чрез формиране на двойка ключ-стойност. Стойността може да бъде извлечена с помощта на ключа чрез предаването му на правилния метод.
  • Ако в картата не съществува елемент, той ще хвърли „NoSuchElementException“.
  • HashMap съхранява само препратки към обекти. Ето защо е невъзможно да се използват примитивни типове данни като double или int. Използвайте клас обвивка (като Integer или Double) вместо.


19) Какво е стек?

Стекът е специална област от паметта на компютъра, която съхранява временни променливи, създадени от функция. В стека променливите се декларират, съхраняват и инициализират по време на изпълнение.


20) Какво е свързан списък?

Свързаният списък е структура от данни, която може да съхранява колекция от елементи. С други думи, свързаните списъци могат да се използват за съхраняване на няколко обекта от един и същи тип. Всяка единица или елемент от списъка се нарича възел. Възел в свързания списък има своите данни и адреса на следващия възел. Това е като верига. Свързаните списъци се използват за създаване на графики и дървета.


Java Въпроси и отговори за интервюта за колекции за опитни

21) Дайте пример за ArrayList

Примерът за ArrayList е:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

22) Обяснете свързания списък, поддържан от Java

Два типа свързани списъци, поддържани от Java са:

  • Единично свързан списък: Единично свързаният списък е вид структура от данни. В единично свързан списък всеки възел в списъка съхранява съдържанието на възела и препратка или указател към следващия възел в списъка. Той не съхранява никаква препратка или указател към предишния възел.
  • Двойно свързани списъци: Двойно свързаните списъци са специален тип свързани списъци, при които обхождането на елементите от данни може да се извърши и в двете посоки. Това става възможно чрез наличието на две връзки във всеки възел, една, която се свързва със следващия възел, и друга, която се свързва с предишния възел.

23) Обяснете методите, предоставени от интерфейса Queue?

Методи на Java Интерфейсът на опашката е:

Начин на доставка Descriptйон
булево добавяне (обект) Вмъква определен елемент в опашката. Връща истина в случай на успех.
булева оферта (обект) Този метод се използва за вмъкване на елемент в опашката.
Премахване на обект() Той извлича и премахва главата на опашката.
Обектна анкета() (): Той извлича и премахва главата на опашката или връща нула, в случай че е празна.
Обектна анкета() Той извлича и премахва главата на опашката или връща нула, в случай че е празна.
Обектен елемент() Извлича данните от опашката, но не премахва нейната глава.
Object peek() Извлича данните от опашката, но не премахва нейната глава или в случай, че опашката е опашката е празна, ще извлече нула.

24) Споменете методите, предоставени от класа Stack

Важни методи, предоставени от класа Stack, са:

  • натискане(): Поставете елемента в стека.
  • празен (): Този метод установява дали стекът е празен или не.
  • поп (): Това Java методът на рамката за събиране премахва обекта от стека.
  • търсене (): Този метод търси елементи в стека.
  • надниквам (): Това Java метод разглежда обекта на стека, без да го премахва.

25) Дефинирайте emptySet() в Java рамка на колекциите

Метод emptySet(), който връща празния неизменен набор, когато програмистите се опитат да премахнат нулеви елементи. Наборът, който се връща от emptySet(), може да бъде сериализиран. Синтаксисът на този метод е:

публичен статичен финал Комплект празен набор ()


26) Правете разлика между колекция и колекции

Разликата между Collection и Collections е:

колекция колекции
Колекцията е интерфейс. Колекциите са клас.
Той представлява група от обекти като едно цяло. Той дефинира различни полезни методи за обекти за събиране.
Колекцията е основният интерфейс на Java Рамка за събиране. Колекциите са общ полезен клас.
Този интерфейс се използва за извличане на структурите от данни за колекцията. Този клас съдържа статични методи за манипулиране на структурата на данните.

27) Дефинирайте LinkedHashSet в Java Рамка за събиране?

LinkedHashSet е подклас на класа, наречен HashSet, и имплементира зададения интерфейс. Това е добре подредена версия на HashSet, която поддържа двойно свързан списък във всички свои елементи.


28) Каква е разликата между failfast и failsafe?

Failfast Безопасно
Не позволява модифициране на колекция по време на повторение. Позволява модифициране на колекция по време на итерация.
Може да генерира ConcurrentModificationException Не може да хвърля никакво изключение.
Той използва оригиналната колекция за преминаване през елементите. Той използва оригинално копие на колекция, за да премине през елементите.
Няма изискване за допълнителна памет. Има изискване за допълнителна памет.

29) Списък на колекция изгледи на картографски интерфейс

Изгледите на колекцията на интерфейса на картата са: 1) изглед на набор от ключове, 2) изглед на набор от стойности и 3) изглед на набор от записи.


30) Какви са предимствата на рамката за събиране в Java?

Предимствата на Collection Framework в Java са:

  • Java рамката за събиране предлага високоефективни и ефективни структури от данни, които подобряват точността и скоростта на програмата.
  • Програмата, разработена с Java рамката за събиране е лесна за поддръжка.
  • Разработчикът може да смесва класове с други типове, което води до увеличаване на повторното използване на кода.
  • - Java рамката за събиране позволява на програмистите да променят примитивните типове колекции по начина, по който им харесва.

31) Кой е добър начин за сортиране на обектите от колекцията Java?

Добър начин за сортиране Java колекция обекти използва Comparable и Comparator интерфейси. Разработчикът може да използва Collections.sort(), елементите се сортират въз основа на реда, споменат в compareTo().

Когато разработчик използва Collections, sort (Comparator), той сортира обектите в зависимост от compare() на интерфейса на Comparator.


32) Обяснете Vector in Java

Векторът е същият като масив. Той има компоненти, които могат да бъдат достъпни чрез стойност на индекс. Векторите могат да съдържат наследен метод, който не е част от рамката за събиране.


33) Каква е разликата между Set и Map?

комплект Карта
Наборът принадлежи към package-java.util. Картата принадлежи на пакет - java.util.
Може да разшири интерфейса за събиране. Не разширява интерфейса за събиране.
Не позволява дублирани стойности. Позволява дублиране на стойности.
Наборът може да сортира само една нулева стойност. Картата може да сортира множество нулеви стойности.

34) Дефинирайте класа на речника

Класът Речник е a Java клас, който има възможност да съхранява двойки ключ-стойност.


35) Дефинирайте EnumSet

java.util.EnumSet е реализация на Set, която може да се използва с типове enum. EnumSet, който има всички елементи, трябва да идва от един тип enum, посочен изрично или косвено. Не е синхронизиран и не са разрешени нулеви ключове. EnumSet предоставя методи като EnumSetof(E first, E… rest), complementOf(EnumSet s) и copyOf(Collection c).


36) Какви са двата начина за премахване на дубликати от ArrayList?

Два начина за премахване на дубликати от ArrayList са:

  • HashSet: Разработчикът може да използва HashSet, за да премахне дублиращия се елемент от ArrayList. Недостатъкът е, че не може да запази реда за вмъкване.
  • LinkedHashSet: Разработчиците могат също да поддържат реда на вмъкване, като използват LinkedHashSet вместо HashSet.

37) Какво е IdentityHashMap?

IdentityHashMap е клас, който внедрява интерфейси за сериализиране, клониране, карта и разширява класа AbstractMap. Той е предназначен за случая, когато има нужда от семантика за равенство на препратки.


38) Какво е WeakHashMap?

WeakHashMap е реализация на Java Карта. Използва се за съхраняване на слаби препратки към неговите ключове. Сортирането с помощта на тази карта позволява двойка ключ-стойност да се събира като боклук. Неговият ключ не се споменава извън WeakHashMap.


39) Какви са методите, за да направите колекцията нишково безопасна?

Методите за безопасна нишка за събиране са:

  • Collections.synchronizedList(списък);
  • Collections.synchronizedMap(карта);
  • Collections.synchronizedSet(set);

40) Обяснете Не се поддържаOperationException

Не се поддържаOperationException е изключение, което се хвърля върху методи, които не се поддържат от действителния тип колекция.

Например, разработчикът прави списък само за четене, като използва „Collections.unmodifiableList(list)“ и извиква метод call(), add() или remove(). Трябва ясно да хвърля UnsupportedOperationException.


41) Наименувайте класовете на колекцията, които дават достъп на случаен елемент до своите елементи

Класовете на колекцията, които дават достъп на случаен елемент до своите елементи, са: 1) ArrayList, 2) HashMap, 3) TreeMap и 4) Hashtable.


42) Обяснете разликата между Queue и Deque.

Опашка Деке
Нарича се опашка с един край Нарича се двустранна опашка
Елементите в опашката се добавят или премахват от единия край Елементите в опашката се добавят от всеки край, могат да се добавят и премахват от двата края
Той е по-малко универсален. Той е по-универсален.

43) Споменете внедряващия интерфейс List and Set

Клас, внедряващ интерфейс List: 1) ArrayList, 2) Vector и 3) LinkedList.

Клас, внедряващ Set интерфейс: 1) HashSet и 2) TreeSet.


44) Обяснете модела на проектиране, следван от Iterator

Итераторът следва детайлите на шаблона за проектиране на итератора. Той предоставя на програмиста да навигира през колекциите от обекти, използвайки общ интерфейс, без да знае неговото изпълнение.


45) Какво представлява peek() на интерфейса Queue?

Peek () е метод на интерфейс на опашка. Той извлича всички елементи, но не премахва главата на опашката. В случай, че опашката е празна, този метод ще върне нула.


46) Какво е CopyOnWriteArrayList?

CopyOnWriteArrayList е вариант на ArrayList, в който операции като add и set се изпълняват чрез създаване на копие на масива. Той е безопасен за нишки и по този начин не хвърля ConcurrentModificationException. Този ArrayLists позволява всички елементи, включително null.


47) Правете разлика между ArrayList и LinkedList

Разликата между ArrayList и LinkedList е:

ArrayList LinkedList
Той използва динамичен масив. Той използва двойно свързан списък.
ArrayList не е за предпочитане за манипулиране. LinkedList е за предпочитане за манипулиране.
ArrayList осигурява произволен достъп. LinkedList не предоставя произволен достъп.
ArrayList съхранява само обекти, поради което отнема по-малко излишна памет LinkedList съхранява обект, както и адресен обект; следователно отнема повече памет.

48) Обяснете методите на интерфейса на итератора

Методите на интерфейса на итератора са:

Начин на доставка Descriptйон
публичен булев hasNext() Връща true в итератора има елементи; в противен случай връща false.
публичен обект next() Този метод връща елемента и премества показалеца към следващата стойност.
public void remove() Това Java методът може да премахне последните елементи, върнати от итератора. Public void remove() се използва по-рядко.

49) Какви са методите на класа HashSet?

Методите на класа HashSet са:

Методи Descriptйон
булево добавяне (обект o) Този метод добавя споменатия елемент към този набор, ако той вече не присъства.
boolean съдържа (обект o): Връща true, ако наборът съдържа посочения елемент.
void clear(): Този метод премахва множество елементи.
boolean isEmpty(): Връща истина в случая, множеството няма елементи.
булево премахване (обект o): Той премахва посочения елемент от набора.
клониране на обект (): Този метод връща копие на екземпляра HashSet: самите елементи не са клонирани.
итератор итератор() Той връща итератор върху елементите в този набор.
int size(): Връща броя на наличните елементи в набора.

50) Какви са методите на Java Клас TreeSet?

Методите на Java Класът TreeSet са:

Методи Descriptйони
булево addAll(Колекция c) Добавете всички елементи в указаната колекция към този набор.
boolean съдържа (обект o) Връща true, ако наборът съдържа споменатия елемент.
булево isEmpty() Това Java методът връща true, ако този набор не съдържа елементи.
булево премахване (обект o) Премахнете посочения елемент от набора.
void add (Object o) Той добавя посочения елемент към набора.
void clear() Това Java метод премахва всички елементи от набора.

51) Обяснете Linked HashSet

Java Класът LinkedHashSet е реализация на свързан списък и хеш-таблица на интерфейса Set. Той съдържа уникални елементи, същите като HashSet. Свързан HashSet в Java също така предоставя незадължителни операции за набори, които могат да поддържат реда на вмъкване.


52) Кои са важните методи, използвани в свързан списък?

Важните методи, използвани в свързания списък, са:

Начин на доставка Descriptйон
булево добавяне (обект o) Използва се за добавяне на посочения елемент към края на вектора.
boolean съдържа (обект o) Това е метод, който връща true, ако този списък съдържа посочения елемент.
void add (int индекс, обектен елемент) Вмъква елемента в посочения елемент във вектора.
void addFirst(Object o) Използва се за вмъкване на дадения елемент в началото.
void addLast(Object o) Използва се за добавяне на дадения елемент към края.
Int size() Този метод може да се използва за връщане на общия брой елементи в списък.
булево премахване (обект o) Той може да премахне първото срещане на посочения елемент от този списък.
int indexOf(обектен елемент) Това Java метод връща индекса с първото появяване на споменатия елемент в този списък или -1.
int lastIndexOf(обектен елемент) Тя е Java метод, който връща индекса с последното срещане на посочения елемент в този списък, или -1.

53) Избройте различни класове, налични в комплекти

Различни класове, налични в комплекти, са: HashSet, TreeSetand и LinkedHashSet.


54) Избройте методите, налични в Java Интерфейс за опашка

  • булево добавяне (обект)
  • булева оферта (обект)
  • премахване на обект ()
  • обектна анкета()
  • обектен елемент()
  • обект peek()

55) Правете разлика между списък и набор.

списък комплект
Подредена колекция от елементи Неподредена колекция от елементи
Запазва реда на вмъкване Не запазва реда за вмъкване
Допускат се дублиращи се стойности Не се допускат дублиращи се стойности
Може да се съхранява произволен брой нулеви стойности Могат да се съхраняват само една нулева стойност
ListIterator може да се използва за обхождане на списъка във всяка посока ListIterator не може да се използва за обхождане на Set
Съдържа наследен клас, наречен вектор Не съдържа никакъв наследен клас

Java Въпроси и отговори за интервю за колекции за 5+ години опит

56) Обяснете за всеки цикъл с пример

For-Each Loop е друга форма на for цикъл, използван за преминаване на масива. Той значително намалява кода и няма използване на индекса или по-скоро на брояча в цикъла.

Пример за всеки цикъл:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

57) Обяснете оператора диамант

Diamond операторът позволява на компилатора да събира аргументите на типа на общия клас. в Java SE, разработчикът може да замени параметризирания конструктор с празни набори от параметри (<>), известни като диамант оператор.


58) Обяснете интерфейса за произволен достъп

Интерфейсът RandomAccess се използва от реализациите на List за индикация, че поддържат бързо.


59) Наименувайте класовете на колекцията, които реализират интерфейс с произволен достъп

JavaПакетът .util има класове, които могат да реализират интерфейс за произволен достъп, са: CopyOnWriteArrayList, Stack, ArrayList и Vector.


60) Как да се присъединят към множество ArrayLists?

Списъкът предоставя метод addall() с множество ArrayList Java.

Например, разгледайте два списъка 1) areaList и 2) secondAreaList. Разработчикът може да се присъедини към тях с помощта на addall() като:

areaList.addAll(secondAreaList);


61) Обяснете интерфейса deque

Java.util.Deque е Java, интерфейс, който разширява интерфейса на Queue. Той дава поддръжка за вмъкване и изтриване на елементи в двата края. Тази опашка се нарича още опашка с два края.


62) Обяснете Linkedhashmap

LinkedHashMap е имплементацията на интерфейса Map. Може също така да разшири класа HashMap. Следователно, подобно на HashMap, LinkedHashMap позволява Java разработчиците да разрешат един нулев ключ и повече от една нулева стойност.


63) Обяснете методите за премахване на елементи от ArrayList

Методите за премахване на елементи от ArrayList са:

Начин на доставка Descriptйон
изчисти () Този метод премахва елементите от ArrayList.
премахване (индекс) Този метод на ArrayList може да премахне елемента на определена позиция.
премахване (обект o) Той може да премахне първото появяване на споменатия елемент от ArrayList.
премахнете всички() Може да премахне списъка с елементи, които са в определена колекция.
removeIf(Предикат филтър) Този метод премахва елементи, които отговарят на споменаването на предикат.

64) Обяснете картата. запис в картата

Map.entry е a Java интерфейс на java.util. Има вложен интерфейс в Map. Този интерфейс трябва да бъде квалифициран от името на класа или интерфейса, чийто член е. Следователно се квалифицира като карта. Вход. Той представлява двойка ключ и стойност, която може да формира елемент от карта.

Този метод връща изглед на колекцията. Например, разгледайте cityMap като карта. Разработчикът може да използва entrySet(), за да получи изгледа на набора на карта с елемент Map.Entry. Програмистът може също да използва getKey() и getValue() на Map.Entry, за да получи двойката ключ и стойност на картата.


65) Кой метод се използва за сортиране на масив във възходящ ред?

Java метод на рамката на колекцията, Collections.sort() се използва за сортиране на масив във възходящ ред.


66) Как да измерим ефективността на ArrayList?

Ефективността на ArrayList може да се измери чрез:

  • Добавяне на елемент: Разработчикът може да добави елемент в края на ArrayList, като използва метода add(E e). Това е O(1). В най-лошия сценарий може да отиде до O(n). Това може да се случи, ако разработчикът добави повече елементи от капацитета на масива.
  • Извличане на елемент: Разработчикът може да получи достъп до индекса на масива чрез get(int index). Производителността в този случай може да се измери с помощта на ArrayList get() е O(1).
  • Премахване на елемент: В случай, че разработчиците премахват елемент с помощта на remove(int index), тогава производителността на ArrayList може да се изчисли с помощта на споменатата операция за премахване (int index) методът O(n – index).

67) Обяснете класа LinkedList

Клас LinkedList в Java прилага Deque и List с помощта на двойно свързан списък. Има частен клас възел в двойно свързан списък, който осигурява неговата структура. Той също така има променлива на елемента за съхраняване на стойността и препратка към клас Node. Това може да се използва за свързване на следващия и предишния възел.


68) Дайте пример за Hashmap

Примерът за Hashmap е:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

69) Как да повторя картата?

Разработчикът не може директно да итерира картата, но този интерфейс има два метода, които предоставят изглед на набор от карти. Тези методи са:

  • Комплект >entrySet(): Това е метод, който връща набор, съдържащ записите, споменати в картата. Тези записи обикновено се възразяват, което има тип Карта. Вход.
  • Комплект keySet(): Това Java метод връща набор, който има ключа за карта.

70) Обяснете Treemap в Java

TreeMap е клас, който имплементира интерфейса Map LinkedHashMap и HashMap. Той може също да имплементира интерфейса NavigableMap и може да разшири класа AbstractMap.


71) Каква е разликата между Hashmap и Hashtable?

Hashmap Хеш таблица
Не е синхронизиран. Той е синхронизиран.
HashMap позволява един ключ като нулева стойност. HashTable не позволява нулеви стойности.
Итераторът се използва за преминаване на HashMap. За преминаване на HashTable се използва или Iterator, или Enumerator.
Може да се използва както за HashTable, така и за HashMap и е безотказно бърз. Може да се използва с HashTable и е безопасен.
HashMap работи по-бързо от HashTable. Hashtable не е много по-бърз в сравнение с HashMap.

72) Обяснете вътрешната работа на HashSet в Java

HashSet in Java вътрешно използва HashMap за съхраняване на елементи. Може също така да съхранява уникални стойности без дублиращи се стойности.

In Java, разработчикът на HashSet може да има метод add(E e), който взема само елемента за добавяне като параметър. Не приема двойката ключ и стойност.


73) Обяснете нотацията Big-O с пример

Нотацията Big-O изобразява производителността на алгоритъма като броя на елементите в ArrayList. Разработчикът може да използва нотация Big-O, за да избере реализацията на колекцията. Базира се на производителност, време и памет.

Например ArrayList get(index i) е метод за извършване на операция с постоянно време. Не зависи от общия брой налични елементи в списъка. Следователно производителността в нотация Big-O е O(1).


74) Обяснете най-добрите практики в Java Рамка за колекция

Най-добрите практики в Java Рамката за събиране е:

  • Изберете правилния тип събиране в зависимост от нуждите.
  • Избягвайте преразглеждане или преоразмеряване, като оценявате общия брой елементи, които да се съхраняват в класовете на колекцията.
  • Напиши Java програма по отношение на интерфейсите. Това ще помогне на разработчика да промени внедряването си без усилие в бъдеще.
  • Разработчикът може да използва Generics за безопасност на типа.
  • Използвайте неизменни класове, дадени от Java Комплект за разработка. Избягвайте прилагането на equals() и hashCode() за персонализирани класове.
  • Програмистът трябва да използва помощния клас Collections за алгоритми или за получаване на колекции само за четене, синхронизирани или празни. Това ще подобри повторното използване на кода с ниска поддръжка.

75) Обяснете различните видове опашки в Java

Има три вида опашки Java:

  • Приоритетна опашка: Това е специален тип опашка, в която елементите се сортират според техния естествен ред или персонализиран компаратор.
  • Кръгова опашка: Това е вид опашка, в която потребителските операции се извършват въз основа на метода FIFO. Последният елемент се свързва с първата позиция, за да се получи кръг.
  • Double-завършена опашка: Двустранната опашка е абстрактен тип данни, който обобщава опашка. Елементите в тази опашка могат да се добавят или премахват от главата или опашката.

76) Каква е разликата между стек и опашка?

Стек Опашка
Принципът на работа на стека е LIFO. Работният принцип на опашката е FIFO.
Единият край се използва за извършване на вмъкване или изтриване на елементи. Единият край се използва за извършване на вмъкване, а другият край се използва за изтриване на елементи.
Използва един указател. Той използва два указателя в проста опашка.
Няма никакъв вариант. Има варианти като приоритетна опашка, кръгова опашка, двойно завършена опашка.
Използва се лесно. Не е лесен за използване.

77) Каква е разликата между масив и стек?

Разликата между масив и стек е:

Array Стек
Това е колекция от елементи, които се идентифицират от индекса. Това е операция за събиране, която служи като операции push и pop.
Той има елементи от типове данни, които са еднакви. Той има елементи от типове данни, които са различни.
Елементите могат да бъдат премахнати или добавени в масива чрез операция с произволен достъп. Елементите могат да бъдат премахнати или добавени в стек с помощта на операция LIFO.

78) Дефиниране на итератор()

Iterator() е интерфейс, който предоставя методи за повторение на колекцията. Итераторът може да заеме мястото на изброяването в Java. Позволява на повикващия да премахва елементи от колекцията. Методът осигурява общ начин за обхождане, използвайки елементи от колекцията и имплементиращ модел на проектиране на итератор.


79) Какви са различните начини за обхождане на списък?

Java колекция Програмистът на рамката може да итерира списък по два начина: 1) Използвайки итератор и 2) използвайки го за всеки контур.


80) Какви са предимствата на стека?

Предимствата на стека са:

  • Помага ви да управлявате данните по метода Last In First Out (LIFO), което не е възможно със свързания списък и масив.
  • Когато се извика функция, локалните променливи се съхраняват в стек и той автоматично се унищожава, след като бъде върнат.
  • Стекът се използва, когато променлива не се използва извън тази функция.
  • Тя ви позволява да контролирате как паметта се разпределя и освобождава.
  • Stack автоматично почиства обекта.
  • Не се поврежда лесно
  • Променливи не може да се преоразмерява.

Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)