集合是Java集合框架(Java Collections Framework)的一部分,提供了一组接口和类来存储和操作一组对象。集合框架的核心接口包括CollectionListSetMap

特点

  • 动态大小:集合的大小可以动态调整,不需要预先定义容量。
  • 类型安全:支持泛型,可以在编译时检查类型。
  • 丰富的操作:提供了多种方法,如添加、删除、遍历、排序等。
  • 多种实现:如ArrayListLinkedListHashSetTreeSet等,适用于不同场景。

常用集合类型

  • List:有序且允许重复元素(如ArrayListLinkedList)。
  • Set:无序且不允许重复元素(如HashSetTreeSet)。
  • Map:存储键值对,键不允许重复(如HashMapTreeMap)。

 ArrayList

成员方法

方法名

说明

public boolean add(要添加的元素)

将指定的元素追加到此集合的末尾

public boolean remove(要删除的元素)

删除指定元素,返回值表示是否删除成功

public E remove(int index)

删除指定索引处的元素,返回被删除的元素

public E set(int index,E element)

修改指定索引处的元素,返回被修改的元素

public E get(int index)

返回指定索引处的元素

public int size()

返回集合中的元素的个数

综合练习

创建泛型ArrayList

  • ArrayList<String>:指定ArrayList中存储的元素类型为String
  • 集合< >中不能直接放基础数据类型,要改成包装类
  • 包装类:Byte、Short、Character(char)、Integer(int)、Long、Float、Double、Boolean。
package com.hongwu.ArrayListdemo;

import java.util.ArrayList;

public class Arraylistdemo1 {
    public static void main(String[] args) {
        // 1. 创建一个ArrayList集合,存储字符串类型元素
        ArrayList<String> array = new ArrayList<String>();//后面<>中的String是可以省略的

        // 2. 添加元素到集合中
        array.add("hello");
        array.add("world");
        array.add("java");

        // 3. 打印集合的初始内容
        System.out.println("初始集合: " + array);

        // 4. 删除指定元素
        // public boolean remove(Object o):删除指定的元素,返回删除是否成功
        boolean isRemoved = array.remove("world");
        System.out.println("删除'world'是否成功: " + isRemoved);
        System.out.println("删除后集合: " + array);

        // 5. 删除指定索引处的元素
        // public E remove(int index):删除指定索引处的元素,返回被删除的元素
        String removedElement = array.remove(1);
        System.out.println("删除索引1处的元素: " + removedElement);
        System.out.println("删除后集合: " + array);

        // 6. 修改指定索引处的元素
        // public E set(int index, E element):修改指定索引处的元素,返回被修改的元素
        String oldElement = array.set(0, "javaee");
        System.out.println("修改索引0处的元素,原元素为: " + oldElement);
        System.out.println("修改后集合: " + array);

        // 7. 获取指定索引处的元素
        // public E get(int index):返回指定索引处的元素
        String element = array.get(0);
        System.out.println("索引0处的元素: " + element);

        // 8. 获取集合的大小
        // public int size():返回集合中的元素个数
        int size = array.size();
        System.out.println("集合的大小: " + size);

        // 9. 打印最终集合内容
        System.out.println("最终集合: " + array);
    }
}

【Java】集合_java

 

 遍历集合练习

package com.hongwu.ArrayListdemo;

import java.util.ArrayList;

public class Arraylistdemo1 {
    public static void main(String[] args) {
        // 1. 创建一个ArrayList集合,存储字符串类型元素
        ArrayList<String> list = new ArrayList<String>();

        // 2. 添加元素到集合中
        list.add("hello");
        list.add("world");
        list.add("java");

       //3.遍历
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
            //i 依次表示集合里面的每一个索引

            if(i == list.size() - 1){
                //最大索引
                System.out.print(list.get(i));
            }else{
                //非最大索引
                System.out.print(list.get(i) + ", ");
            }
        }
        System.out.print("]");
    }
}

添加学生对象并遍历

student类

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

stutest遍历测试文件

import java.util.ArrayList;

public class stutest {
    public static void main(String[] args) {
        //1.创建集合对象,用来存储数据
        ArrayList<Student> list = new ArrayList<>();

        //2.创建学生对象
        Student s1 = new Student("zhangsan",16);
        Student s2 = new Student("lisi",15);
        Student s3 = new Student("wangwu",18);

        //3.把学生对象添加到集合中
        list.add(s1);
        list.add(s2);
        list.add(s3);

        //4.遍历
        for (int i = 0; i < list.size(); i++) {
            //i 依次表示集合中的每一个索引
            Student stu = list.get(i);
            System.out.println(stu.getName() + ", " + stu.getAge());
        }

    }
}