对象数组、集合、数据结构

本文介绍了对象数组的概念、创建与遍历方法,深入探讨了集合的起源、特点与功能,如添加、删除、判断、获取、长度、交集等。此外,还详细阐述了List集合的特性、遍历方式以及ArrayList、Vector、LinkedList的特点。最后,文章讲解了数据结构的基础,包括栈、队列、数组和链表。
摘要由CSDN通过智能技术生成

目录

对象数组

概述

创建方法

对象数组的遍历

集合

集合的由来

数组和集合的区别

添加功能

代码示例

删除功能

判断功能

获取功能

长度功能

交集功能

把集合转换为数组的功能

集合的遍历

集合转数组遍历

集合存储自定义对象并遍历

迭代器遍历

集合存储字符串并遍历

List集合

List集合的特点

List集合的特有功能

List集合特有的遍历功能

List ArrayList Vector LinkedList的特点

数据结构

队列

数组

链表


对象数组

概述

对象数组的每一个元素都是一个对象。例如创建一个Student类如下:

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

创建方法

在测试类Test中创建三个Student对象并放入对象数组中,具体的定义对象数组的方法为:

public class Test {
    public static void main(String[] args) {
        //定义一个Student对象数组,并且初始化数组长度为3
        Student[] students = new Student[3];
        //创建三个Student对象,并存放入students数组中
        students[0] = new Student("Alice", 18);
        students[1] = new Student("Helen", 19);
        students[2] = new Student("Jack", 20);
    }
}

对象数组的遍历

因为对象数组也是一个数组,里面存放的每个元素都是相同数据类型的,所以我们可以直接循环遍历对象数组。

我们在遍历对象数组时,可以使用get()和set()方法来获取每个数组元素中的成员变量的值,也可以使用toString()方法来直接打印对象数组,前提是必须在Student类中重写toString()方法,否则打印的是每个对象的地址值。

重写toString()方法后的Student类:

public class Student {
    String name;
    int age;
​
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
​
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

使用重写后的toString()方法打印数组的每个元素:

public class Test {
    public static void main(String[] args) {
        Student[] students = new Student[3];
        students[0] = new Student("Alice", 18);
        students[1] = new Student("Helen", 19);
        students[2] = new Student("Jack", 20);
        for (Student student : students) {
            System.out.println(student.toString());
        }
    }
}

集合

集合的由来

面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象操作,Java就提供了集合类。

集合是一个体系,有很多集合的接口和类组成,不同的集合有各自的特点。

Collection集合继承体系

数组和集合的区别

1)长度区别:

数组的长度是固定的,而集合的长度是可变的。

2)存储数据类型的区别:

数组可以存储基本数据类型,也可以存储引用数据类型;

集合只能存储引用数据类型。

3)内容的区别

数组只能存储相同数据类型的元素;

集合可以存储不同数据类型的元素。

Collection集合的功能

创建Collection集合,下面都使用子类ArrayList演示

import java.util.ArrayList;
import java.util.Collection;
​
public class Test2 {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
    }
}

添加功能

//添加单个元素
boolean add(Object obj)

该方法的返回值是boolean类型,true为添加成功,false为添加失败。

代码示例

import java.util.ArrayList;
import java.util.Collection;
​
public class Test2 {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
        boolean b = collection.add(100);
        System.out.println(b);
    }
}

//添加一个集合的元素(即给一个集合添加进另一个集合的所有元素)
boolean addAll(Collection c)

同上,该方法的返回值与add()方法的返回值类似,

代码示例

import java.util.ArrayList;
import java.util.Collection;
​
public class Test3 {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
        collection.add(1);
        Collection collection2 = new ArrayList();
        collection2.add(2);
        colle
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值