对象数组学习

  对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。

定义一个数组,用来储存3个Person对象。

 

数组有一个缺点:一旦创建,程序运行期间长度不可以发生变化

package 对象数组;

/**
 * @Author: Jason
 * @Date: 2019/6/5 12:09
 * @Version 1.0
 */
public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(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;
    }

}
package 对象数组;

/**
 * @Author: Jason
 * @Date: 2019/6/5 12:12
 * @Version 1.0
 */
public class DemoArray {
    public static void main(String[] args) {

        // int[] array = new int[3];
        Person[] array = new Person[3]; //对象数组

        Person person1 = new Person("张三", 19);
        Person person2 = new Person("李四", 23);
        Person person3 = new Person("王二麻子", 33);

        array[0] = person1;
        array[1] = person2;
        array[2] = person3;

        for (int i = 0; i < array.length; i++) {

            System.out.println(array[i]);

            System.out.println(array[i].getName());
        }
    }
}

对象数组学习_第1张图片

数组的长度不可以发生改变,但ArrayList集合的长度可以随意变化。

对于ArrayList来说,有一个尖括号代表泛型。

泛型:也就是装在集合当中的所有元素,全部都是统一的什么类型。

【注】泛型只能是引用类型,不是基本类型。

package 对象数组;

import java.util.ArrayList;

/**
 * @Author: Jason
 * @Date: 2019/6/5 19:04
 * @Version 1.0
 */
public class DemoArrayList {
    public static void main(String[] args) {
        //创建了一个ArrayList集合,集合的名称是list,里面装着全是String字符串类型的数据。
        ArrayList list = new ArrayList<>();
        //JDK 1.7以后都不用在右边的<>尖括号里写内容,但左边它本身的内容得写上

        System.out.println(list);
        System.out.println("===============");
        //向集合中添加一些数据 需要用到add方法
        list.add("张三");
        System.out.println(list);
        System.out.println("==============");
        list.add("李四");
        list.add("石头");
        list.add("小米");
        System.out.println(list);



    }
}

对象数组学习_第2张图片

 

我们可以从API文档里看到这些方法:

对象数组学习_第3张图片

这里我们来说一下常用的几个方法:

public boolean add(E , e);

向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。

【注】对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用都行。

但是对于其它集合来说,add添加动作不一定成功。

package 对象数组;

/**
 * @Author: Jason
 * @Date: 2019/6/5 19:51
 * @Version 1.0
 */

import java.util.ArrayList;

/**
 * ArrayList的其他方法可以在API文档里查看使用
 */

public class DemoArrayListMethod {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();

        boolean success = list.add("小雪");
        System.out.println(list);
        System.out.println("添加的数据是否成功:" + success);

        System.out.println("==============================");
        list.add("小米");
        list.add("华为");
        list.add("苹果");
        list.add("魅族");
        list.add("锤子");

        System.out.println(list);

        //从集合中获取元素 get 索引值从0开始。
        String name = list.get(2);
        System.out.println("第2号索引位置的人是:" + name);

        // 从集合中删除元素,remove 索引值从0开始。
        String WhoRemove = list.remove(4);
        System.out.println("被删除的人是: " + WhoRemove);
        System.out.println("删除后的集合里还有:");
        System.out.println(list);

        //获取长度尺寸 size
        int size = list.size();
        System.out.println("数组集合的长度为:" + size);



    }


}

对象数组学习_第4张图片

ArrayList集合遍历:

package 对象数组;

import java.util.ArrayList;

/**
 * @Author: Jason
 * @Date: 2019/6/5 20:55
 * @Version 1.0
 */
public class DemoArrayTaverse {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();

        list.add("小明");
        list.add("小红");
        list.add("小夏");
        list.add("小刘");
        System.out.println("遍历姓名为:");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i));
            System.out.print("  ");

        }

    }
}

对象数组学习_第5张图片

你可能感兴趣的:(java,se学习,编程学习技术)