Java编程思想 容器

引言

容器是Java中非常重要的概念,它提供了一种方便存储和操作数据的方式。在Java编程思想中,容器被广泛应用于各种场景,包括集合、列表、栈、队列等。本文将介绍Java中的容器概念以及常用的容器类,并通过代码示例演示它们的使用。

容器概述

容器是用于存储对象的数据结构,Java中的容器可以分为两大类:Collection和Map。Collection是存储一组对象的容器,而Map是存储键值对的容器。

Collection

Collection是Java中最基本的容器接口,它定义了一组常用的方法来操作和访问集合中的元素。常见的Collection接口的实现类有List、Set和Queue。

  • List是有序的集合,可以包含重复的元素。常用的实现类有ArrayList和LinkedList。下面示例演示了如何创建一个ArrayList并添加元素。
import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        
        for (String fruit : list) {
            System.out.println(fruit);
        }
    }
}
  • Set是不允许包含重复元素的集合。常用的实现类有HashSet和TreeSet。下面示例演示了如何创建一个HashSet并添加元素。
import java.util.HashSet;
import java.util.Set;

public class HashSetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("apple");
        set.add("banana");
        set.add("orange");
        
        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}
  • Queue是一个先进先出(FIFO)的集合。常用的实现类有LinkedList和PriorityQueue。下面示例演示了如何创建一个LinkedList并添加元素。
import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        queue.add("apple");
        queue.add("banana");
        queue.add("orange");
        
        while (!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
    }
}

Map

Map是一种存储键值对的容器,其中键是唯一的,值可以重复。常用的Map实现类有HashMap和TreeMap。下面示例演示了如何创建一个HashMap并添加键值对。

import java.util.HashMap;
import java.util.Map;

public class HashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);
        
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + " -> " + entry.getValue());
        }
    }
}

容器的常用方法

容器提供了一组常用的方法来操作和访问集合中的元素。以下是常用的方法示例:

  • Collection常用方法
import java.util.ArrayList;
import java.util.Collection;

public class CollectionExample {
    public static void main(String[] args) {
        Collection<String> collection = new ArrayList<>();
        collection.add("apple");
        collection.add("banana");
        collection.add("orange");
        
        System.out.println("Size: " + collection.size());
        System.out.println("Contains 'apple': " + collection.contains("apple"));
        
        collection.remove("banana");
        
        for (String fruit : collection) {
            System.out.println(fruit);
        }
        
        collection.clear();
        
        System.out.println("Empty: " + collection.isEmpty());
    }
}
  • Map常用方法
import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);
        
        System.out.println("Size: " + map.size());
        System.out.println("Contains key 'apple': " + map.containsKey("apple"));
        System.out.println("Contains value 2: " + map.containsValue(2));
        
        map.remove("banana");
        
        for (