Java集合的概念和分类

  • Post category:Java

下面是Java集合的概念和分类的完整攻略。

什么是Java集合?

Java集合是一组类和接口,它们被用来以容器形式存储和操作对象。Java集合框架提供了实现常用数据结构,如队列(queue)、堆栈(stack)、数组(array)、链表(linked list)、树(tree)、哈希表(hash table)等。Java集合具有统一的接口,允许将不同实现的集合类互相替换,从而使Java集合框架更加灵活和可扩展。

Java集合的分类

Java集合框架中的所有类都实现了java.util包中的Collection接口。Java集合根据元素的存储方式和允许的元素个数的不同,分为三种类型:List、Set和Map。下面分别介绍这三种集合类型。

List列表

List是有序的集合,它允许重复元素。List中的元素可以通过索引访问和操作。Java中提供了两种实现List接口的类:ArrayList和LinkedList。

ArrayList示例代码

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        // 创建一个ArrayList实例
        ArrayList<String> list = new ArrayList<String>();

        // 添加元素
        list.add("apple");
        list.add("banana");
        list.add("orange");

        // 获取元素
        System.out.println("第二个元素是:" + list.get(1));

        // 修改元素
        list.set(1, "pear");

        // 删除元素
        list.remove(2);

        // 遍历元素
        for (String fruit : list) {
            System.out.println(fruit);
        }
    }
}

LinkedList示例代码

import java.util.LinkedList;

public class LinkedListDemo {
    public static void main(String[] args) {
        // 创建一个LinkedList实例
        LinkedList<String> list = new LinkedList<String>();

        // 添加元素
        list.add("apple");
        list.add("banana");
        list.add("orange");

        // 获取元素
        System.out.println("第二个元素是:" + list.get(1));

        // 修改元素
        list.set(1, "pear");

        // 删除元素
        list.remove(2);

        // 遍历元素
        for (String fruit : list) {
            System.out.println(fruit);
        }
    }
}

Set集合

Set是无序的集合,不允许重复元素。Java中提供了三种实现Set接口的类:HashSet、LinkedHashSet和TreeSet。

HashSet示例代码

import java.util.HashSet;

public class HashSetDemo {
    public static void main(String[] args) {
        // 创建一个HashSet实例
        HashSet<String> set = new HashSet<String>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 遍历元素
        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}

LinkedHashSet示例代码

import java.util.LinkedHashSet;

public class LinkedHashSetDemo {
    public static void main(String[] args) {
        // 创建一个LinkedHashSet实例
        LinkedHashSet<String> set = new LinkedHashSet<String>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 遍历元素
        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}

TreeSet示例代码

import java.util.TreeSet;

public class TreeSetDemo {
    public static void main(String[] args) {
        // 创建一个TreeSet实例
        TreeSet<String> set = new TreeSet<String>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 遍历元素
        for (String fruit : set) {
            System.out.println(fruit);
        }
    }
}

Map映射

Map是一种键值对的集合,它允许将键映射到值。Map不允许重复的键,但允许不同的键对应相同的值。Java中提供了三个实现Map接口的类:HashMap、LinkedHashMap和TreeMap。

HashMap示例代码

import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        // 创建一个HashMap实例
        HashMap<String, Integer> map = new HashMap<String, Integer>();

        // 添加键值对
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 获取值
        System.out.println("apple对应的值是:" + map.get("apple"));

        // 修改值
        map.put("banana", 4);

        // 删除键值对
        map.remove("orange");

        // 遍历键值对
        for (String key : map.keySet()) {
            System.out.println(key + ":" + map.get(key));
        }
    }
}

LinkedHashMap示例代码

import java.util.LinkedHashMap;

public class LinkedHashMapDemo {
    public static void main(String[] args) {
        // 创建一个LinkedHashMap实例
        LinkedHashMap<String, Integer> map = new LinkedHashMap<String, Integer>();

        // 添加键值对
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 获取值
        System.out.println("apple对应的值是:" + map.get("apple"));

        // 修改值
        map.put("banana", 4);

        // 删除键值对
        map.remove("orange");

        // 遍历键值对
        for (String key : map.keySet()) {
            System.out.println(key + ":" + map.get(key));
        }
    }
}

TreeMap示例代码

import java.util.TreeMap;

public class TreeMapDemo {
    public static void main(String[] args) {
        // 创建一个TreeMap实例
        TreeMap<String, Integer> map = new TreeMap<String, Integer>();

        // 添加键值对
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 获取值
        System.out.println("apple对应的值是:" + map.get("apple"));

        // 修改值
        map.put("banana", 4);

        // 删除键值对
        map.remove("orange");

        // 遍历键值对
        for (String key : map.keySet()) {
            System.out.println(key + ":" + map.get(key));
        }
    }
}

以上就是Java集合的概念和分类的完整攻略。