集合总结-

Collection

常用方法
java 复制代码
package com.test01;

import java.util.ArrayList;
import java.util.Collection;
/*
            添加元素---boolean add(E e);
            移除元素---boolean remove(Object c);
            判断元素是否存在---boolean contains(Object c);
 */
public class S {
    public static void main(String[] args) {
//        创建Collectiom的对象
        Collection<String> s = new ArrayList<>();

//        添加元素---boolean add(E e);
        s.add("Hello");
        s.add("world");

//        重写toString()方法
        System.out.println(s);

//        移除元素---boolean remove(Object c);
        s.remove("Hello");
        System.out.println(s);

//      判断元素是否存在---boolean contains(Object c);
        System.out.println(s.contains("world"));

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

//        返回长度---int size();
        System.out.println(s.size());

//        清空元素---void claer();
        s.clear();
    }
}
遍历方法
java 复制代码
package com.test01;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class S {
    public static void main(String[] args) {
//        创建Collection的对象
        Collection<String> s = new ArrayList<>();

        s.add("1");
        s.add("2");
        s.add("3");
//        返回集合中元素的迭代器,通过集合中iterator()方法得到
        Iterator<String> it = s.iterator();

//        通用遍历方法
//        boolean hasNext()----如果集合中有更多的元素,则返回true
//        E next()----返回迭代器中的下一个元素
        while(it.hasNext()){
            String a = it.next();
            System.out.println(a);
        }
    }
}

List

常用方法

遍历与Collection类似//可能会出现并发修改异常

多了一种遍历方法

快捷键为list.fori,回车

java 复制代码
package com.test01;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

public class S {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");

//        void add(int idnex,E c)----在指定索引添加元素
        list.add(1,"100");

//        也是重写了toString()方法
        System.out.println(list);

//        E remove(int x)-----删除指定元素,并返回此元素
        System.out.println(list.remove(1));
        System.out.println(list);

//        E set(int x,E a)----修改指定元素,并返回此元素
        System.out.println(list.set(1,"200"));
        System.out.println(list);

//        E get(int x)----得到指定元素
        System.out.println(list.get(2));
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}
ListIterato:列表迭代器
java 复制代码
package com.test01;

import java.util.*;

public class S {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        ListIterator<String> it = list.listIterator();

//        //正向,不常用
//        while(it.hasNext()){
//            System.out.println(it.next());
//        }
//        System.out.println("----------");
//
//        //反向,不常用
//        while(it.hasPrevious()){
//            System.out.println(it.previous());
//        }
//
//        System.out.println("--------");
        //add()方法,重点掌握
        while(it.hasNext()){
            String s = it.next();
            if(s.equals("2")){
                it.add("10");
            }

        }
        System.out.println(list);
    }
}
增强for
java 复制代码
public class S {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("4");
        for(String i : list){
            System.out.println(i);
        }
    }
}
复制代码
ArrayList----底层是数组
LinkedList
复制代码
LinkedList---底层是链表
java 复制代码
public class dome {
    public static void main(String[] args) {
        LinkedList<String> linkedList = new LinkedList<>();

        //boolean addFirst(E e)在头加入元素,removeFirst()同理,getFirst()
        linkedList.addFirst("1");
        //在尾加入元素,removeLast()同理,getLast()
        linkedList.addLast("3");

        for(String it : linkedList){
            System.out.println(it);
        }
        
    }
}

HasSet

底层是哈希表

3种遍历不能用普通循环

不保证存储和输出顺序一致

相关推荐
考虑考虑5 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天8 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源