Java集合的基础知识

目录

Java集合的基础知识

JavaArrayList成员方法

Java集合的练习

01-添加字符串并遍历

02-添加数字并遍历

03-添加学生对象并遍历1

04-添加学生对象并遍历2


Java集合的基础知识

JavaArrayList成员方法

在Java中,ArrayList 是一个可调整大小的数组实现,它属于 java.util 包。以下是 ArrayList 类中用于增删查改操作的一些常用方法:

  1. 增加元素:

    • add(E e): 将指定的元素添加到列表的末尾。
    • add(int index, E element): 在列表的指定位置插入指定元素。
  2. 删除元素:

    • remove(Object o): 删除列表中出现的第一个指定元素(如果存在)。
    • remove(int index): 删除列表中指定位置的元素。
  3. 查找元素:

    • get(int index): 返回列表中指定位置的元素。
    • indexOf(Object o): 返回列表中指定元素的第一次出现的索引,如果列表不包含该元素,则返回 -1。
    • lastIndexOf(Object o): 返回列表中指定元素的最后一次出现的索引,如果列表不包含该元素,则返回 -1。
  4. 修改元素:

    • set(int index, E element): 用指定元素替换列表中指定位置的元素。
  5. 列表大小和清空:

    • size(): 返回列表中的元素数。
    • isEmpty(): 如果列表不包含元素,则返回 true
    • clear(): 移除列表中的所有元素。
  6. 检查存在性:

    • contains(Object o): 如果列表包含指定的元素,则返回 true
  7. 遍历列表:

    • 使用迭代器 iterator(): 返回列表中元素的迭代器,用于遍历。
    • 使用增强 for 循环直接遍历 ArrayList

下面是一些使用这些方法的简单示例:

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        // 创建ArrayList
        ArrayList<String> list = new ArrayList<>();

        // 增加元素
        list.add("Apple");
        list.add("Banana");
        list.add(1, "Grapes"); // 在索引1处添加元素

        // 查找元素
        String item = list.get(0); // 获取第一个元素
        int index = list.indexOf("Banana"); // 查找"Banana"的索引

        // 修改元素
        list.set(2, "Cherry"); // 将索引2的元素替换为"Cherry"

        // 删除元素
        list.remove("Apple"); // 删除"Apple"
        list.remove(0); // 删除索引0处的元素

        // 列表大小和清空
        int size = list.size(); // 获取列表大小
        boolean isEmpty = list.isEmpty(); // 检查列表是否为空
        list.clear(); // 清空列表

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

请注意,ArrayList 是一个泛型类,这意味着你可以指定列表可以包含的元素类型,例如 ArrayList<String>ArrayList<Integer>。这样做有助于提供编译时类型安全,并减少运行时类型错误的可能性。

在Java中,每种基本数据类型都有一个对应的包装类。这些包装类属于java.lang包,它们的作用是将基本数据类型转换为对象,这样可以使用对象的方法和属性。下面是基本数据类型及其对应的包装类:

  • byte:对应的包装类是 Byte
  • short:对应的包装类是 Short
  • int:对应的包装类是 Integer
  • long:对应的包装类是 Long
  • float:对应的包装类是 Float
  • double:对应的包装类是 Double
  • char:对应的包装类是 Character
  • boolean:对应的包装类是 Boolean

包装类提供了一些有用的方法,如将字符串转换为相应的基本类型值,或者将基本类型值转换为字符串,以及其他一些实用的静态方法。例如,Integer类提供了parseInt方法来将字符串转换为整数,Boolean类提供了parseBoolean来解析字符串为布尔值。此外,包装类还实现了比较对象等功能。

Java集合的练习

01-添加字符串并遍历

package com.mohuanan.exercise;

import java.util.ArrayList;

public class Demo01 {
    public static void main(String[] args) {
        //1. 创建ArrayList集合的对象
        ArrayList<String> list1 = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            list1.add("aaa");
        }
        System.out.println(list1);
        //2. 遍历输出
        System.out.println("[");
        for (int i = 0; i < list1.size(); i++) {
            //最后一个元素
            if(i==list1.size()-1){
                System.out.println(list1.get(i));
            }else{
                System.out.println(list1.get(i)+",");
            }
        }
        System.out.println("]");
    }
}

02-添加数字并遍历

package com.mohuanan.exercise;

import java.util.ArrayList;

public class Demo02 {
    public static void main(String[] args) {
        //1. 创建ArrayList对象
        ArrayList<Integer> list = new ArrayList<>();
        //jdk1.5以后Integer和int是可以相互转化的
        list.add(123);
        list.add(1);
        list.add(666);
        //2. 遍历
        for (int i = 0; i < list.size(); i++) {
            int number = list.get(i);
            System.out.print(number+"  ");
        }
        System.out.println();
    }
}

03-添加学生对象并遍历1

package com.mohuanan.student;

public class Student {
    //学生属性
    private String name;
    private int age;
    //构造方法

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

    public Student() {
    }
    //方法

    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;
    }
}


package com.mohuanan.student;

import java.util.ArrayList;

public class StudentTest {
    public static void main(String[] args) {
        //创建集合
        ArrayList<Student> list = new ArrayList<>();
        //创建Student对象
        Student s1 = new Student("莫华南",18);
        Student s2 = new Student("莫华棋",10);
        Student s3 = new Student("莫才兴",40);
        //添加元素
        list.add(s1);
        list.add(s2);
        list.add(s3);
        //输出的是地址
        System.out.println(list);
        //遍历输出
        for (int i = 0; i < list.size(); i++) {
            Student s = list.get(i);
            System.out.println(s.getName()+","+s.getAge());
            System.out.println(list.get(i).getName()+"  "+list.get(i).getAge());
        }
    }
}

04-添加学生对象并遍历2

package com.mohuanan.student;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentTest {
    public static void main(String[] args) {
        //创建集合
        ArrayList<Student> list = new ArrayList<>();
        //创建Student对象
        Scanner sc = new Scanner(System.in);
        //注意这里 要new一个空间出来

        //Student stu = new Student();  ****
        for (int i = 0; i < 3; i++) {
            Student stu = new Student();  //所以要把stu这句话写在这里  表示创建三个名字相同 的stu对象
            System.out.println("请分别输入第"+(i+1)+"个人的姓名和年龄(用空格隔开)");
            //stu = new Student(sc.next(),sc.nextInt());
            //或者
            String name = sc.next();
            int age = sc.nextInt();
            //赋值给Student对象的属性 (用set方法)
            stu.setName(name);
            stu.setAge(age);
            //添加元素
            //输出的结果

            /*sdf,100
            sdf  100
            sdf,100
            sdf  100
            sdf,100
            sdf  100*/
            //如果使用第一种方法 集合里面存储的是**三个**(相同的)**地址**
            list.add(stu);
        }

        //输出的是地址
        System.out.println(list);
        //遍历输出
        for (int i = 0; i < list.size(); i++) {
            Student s = list.get(i);
            System.out.println(s.getName()+","+s.getAge());
            System.out.println(list.get(i).getName()+"  "+list.get(i).getAge());
        }
    }
}
  • 29
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
Java集合Java编程中非常重要的一部分,它提供了一种方便的方式来处理一组对象。Java集合框架包括List、Set、Map等接口和实现它们的类。下面是Java集合基础知识的介绍: 1. List接口:List是一个有序的集合,它可以包含重复的元素。List接口的常用实现类有ArrayList和LinkedList。其中,ArrayList是一个动态数组,它可以自动扩容以容纳更多的元素;而LinkedList是一个双向链表,它可以快速地在列表中插入或删除元素。 2. Set接口:Set是一个不允许重复元素的集合。Set接口的常用实现类有HashSet和TreeSet。其中,HashSet是一个基于哈希表的实现,它可以快速地查找元素;而TreeSet是一个基于红黑树的实现,它可以对元素进行排序。 3. Map接口:Map是一个键值对的集合,它允许使用键来查找值。Map接口的常用实现类有HashMap和TreeMap。其中,HashMap是一个基于哈希表的实现,它可以快速地查找键值对;而TreeMap是一个基于红黑树的实现,它可以对键进行排序。 下面是一个示例代码,演示了如何使用ArrayList集合存储学生的成绩,并遍历这个集合: ```java // 创建一个ArrayList集合,向这个集合中存入学生的成绩 ArrayList<Integer> al = new ArrayList<Integer>(); al.add(78); al.add(67); // 对集合遍历 // 方式1 for (Object obj : al) { System.out.println(obj);} // 方式2 for (Integer i : al) { System.out.println(i); } ```
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值