1. What is the difference between Array and ArrayList?
Array can hold basic types and objects, while ArrayList can only hold objects.
Array has a specified size, while the initial size of ArrayList is fixed.
Array does not provide as many functions as ArrayList, such as addAll, removeAll and iterator.
2. What is the difference between poll() and remove() in Queue?
Queue remove() and poll() are both used to delete an element from the head of the queue. When the queue element is empty, the remove() method will throw a NoSuchElementException exception. poll () method will just return null.
Recommended tutorial: Getting started with java
3. What are the thread-safe collection classes?
vector: It has one more synchronization mechanism (thread safety) than ArrayList. Because of its lower efficiency, it is no longer recommended to use
statck: stack class, first in, last out
hashtable: It is more thread-safe than HashMap
enumeration: enumeration, equivalent to iterator
4. What is iterator?
An iterator is a design pattern that is an object that iterates through and selects objects in a sequence without the developer needing to know the underlying structure of the sequence. Iterators are often called "lightweight" objects because they are cheap to create.
(java interview question column://m.sbmmt.com/java/interview/)
5. How to use Iterator? What are the characteristics?
1. The Iterator function is relatively simple and can only move in one direction.
2. Use the iterator() method to ask the container to return an Iterator. The first time an Iterator's next() method is called, it returns the first element of the sequence. Note: the iterator() method is the java.lang.Iterable interface and is inherited by Collection.
3. Use hasNext() to check whether there are any elements in the sequence.
4. Use next() to get the next element in the sequence.
5. Use remove() Delete the elements newly returned by the iterator
6. Iterator is the simplest implementation of Java iterator. ListIterator designed for List has more functions. It can traverse List in two directions, and can also traverse List from List. Insert and delete elements.
Example code:
public static void main(String[] args) { // List ArrayList<String> list = new ArrayList<>(); list.add("apple"); list.add("pear"); list.add("banana"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()){ String s = iterator.next(); if ("apple".equals(s)){ iterator.remove(); } } list.forEach(item -> System.out.println(item)); // Map<key,value> Map<String,String> map=new HashMap<>(); map.put("pig","猪"); map.put("cat","猫"); map.put("dog","狗"); Iterator<String> iterator1 = map.keySet().iterator(); Iterator<String> iterator2 = map.values().iterator(); while (iterator1.hasNext()){ System.out.println(iterator1.next()); } while (iterator2.hasNext()){ System.out.println(iterator2.next()); } }
Related video tutorial recommendations: java video
The above is the detailed content of 2020 New Java Interview Questions - Containers (3). For more information, please follow other related articles on the PHP Chinese website!