Java中的集合

collection集合体系

Collection集合体系

  • List接口:表示一个有序的集合,可以包含重复的元素,常用实现有:

    • ArrayList:使用动态数组实现,随机访问速度快,但插入和删除时需要移动元素,效率较低。
    • LinkedList:使用双向链表实现,适合频繁插入和删除操作,但随机访问性能较差。
  • Set接口:表示一个不允许重复元素的集合,主要实现有:

    • HashSet:基于哈希表实现,插入、查找性能优越,不保证顺序。 LinkedHashSet:继承自HashSet,维护元素的插入顺序。
    • TreeSet:基于红黑树实现,元素按自然顺序或指定比较器进行排序。

collection集合相关操作

Collection<String> c = new ArrayList<>();
 // 创建集合,<>放在Collection后面表示集合里所放元素的类型,默认是Object类
        c.add("java1");
        c.add("java2");
        c.add("java3");
        c.add("java4");
        c.add("java5");
        System.out.println(c);

        //public boolean remove(E e):删除某个元素:如果有多个重复元素默认删除前面的第一个!
        c.remove("java2");
        System.out.println(c);

        //返回集合大小
        System.out.println(c.size());

        //判断集合中是否包含某个元素,返回true或false
        System.out.println(c.contains("java3"));
        System.out.println(c.contains("Java3"));

        // 判断集合是否为空
        System.out.println(c.isEmpty());

        //void 清除集合中的元素
        c.clear();
        System.out.println(c);

将集合转为数组

       	Object[] arr = c.toArray(); // toArray返回的是Object类型数组
        String[] arr3 = c.toArray(new String[c.size()]); // 指定toArray返回的类型
        
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arr3));

c.toArray()返回的是Object类型数组
c.toArray(new String[c.size()])
:指定toArray返回的类型

迭代器的使用

public class IteratorExample {  
    public static void main(String[] args) {  
        // 创建一个List并添加元素  
        List<String> list = new ArrayList<>();  
        list.add("Apple");  
        list.add("Banana");  
        list.add("Cherry");  

        // 获取迭代器  
        Iterator<String> iterator = list.iterator();  

        // 使用迭代器遍历集合  
        while (iterator.hasNext()) {  
            String fruit = iterator.next();  
            System.out.println(fruit);  
        }  
    }  
}
  • Iterator < E > iterator()返回集合中的选代器对象,该选代器对象默认指向当前集合的第一个元素
  • hasNext():问当前位置是否有元素存在,存在返回true,不存在返回false。
  • next():获取(返回)当前位置的元素,要有变量接收,再将选代器对象指向下一个元素处。
  • remove():该方法用于从集合中移除当前遍历到的元素。注意,必须在调用next()之后调用remove(),否则会抛出IllegalStateException。

使用增强for循环遍历

for (String fruit : list) { // list.for回车
	System.out.println(fruit);
}

Map集合介绍

Map集合介绍
在这里插入图片描述

  • Map接口:映射,存储键值对的集合,键是唯一的,值可以重复,主要实现有:

    • HashMap:基于哈希表实现,提供快速的查找和插入,但不保证顺序。
    • LinkedHashMap:基于哈希表实现,维护插入顺序。
    • TreeMap:基于红黑树实现,按键的自然顺序排序。 Hashtable:早期的哈希表实现,不允许空键和空值,线程安全。

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("Cherry", 3);  

        // 根据键获取对应值
        System.out.println(map.get("Apple"));  

        // 遍历Map  
        for (Map.Entry<String, Integer> entry : map.entrySet()) {  
            System.out.println(entry.getKey() + ": " + entry.getValue());  
        }  

        // 检查包含的键:containsKey, 返回布尔类型
        System.out.println("Contains Banana: " + map.containsKey("Banana"));  

		// 返回集合的大小
		System.out.println(map.size());

		// 清空集合
		map.clear;
		System.out.println(map); // ->{}

		// 判断集合是否为空
		System.out.println(map.isEmpty()); // true

		// public boolean containsValue(Object key):判断是否返回某个值
		System.out.println(map.containsValue(2));
		
		// 获取map集合中的所有值
		Collection<String> c = map.values();

		// 
		Map<String, Integer> map1 = new HashMap<>;
		map1.put("java1", 10);
		mapl.put("java2", 20);
		Map<String,Integer> map2 = new HashMap<>();
		map2.put("java3", 10);
		map2.put("java2",222);
		map1.putAll(map2);
		System.out.println(map1); // {java3=10, java2=222, java1=10}
		System.out.println(map2); // {java3=10,java2=222}
    }  
}

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值