2020 New Java Interview Questions - Containers (3)

王林
Release: 2020-04-17 17:08:27
forward
1676 people have browsed it

2020 New Java Interview Questions - Containers (3)

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());
        }
    }
Copy after login

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!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!