我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

JAVA-张荣亮-2021.03.11

[复制链接]
张荣亮 发表于 2021-3-11 19:45:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
package day05;

/*
集合:
    List (列表):有序、里面的元素可重复、可变长度。
                  List是接口,常用的实现类:ArrayList(可变长度的数组)、LInkedList(链接结构)、Vector
                  ArrayList:遍历元素、随机访问元素,效率比较高。
                  LinkedList:插入或者删除元素时,效果比较高。
    Set  (集合)
    Map  (字典)
*/

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Demo02 {
    public static void main(String[] args) {
        // <String> 表示列表中元素的类型
        // List 是接口,用它的实现类ArrayList来实例化
        List<String> names = new ArrayList<>();

        // 增、删、改、查元素
        names.add("Tom");
        names.add("Lily");
        names.add("Jack");
        names.add("Tony");
        names.add("Lily");
        // [HanMeimeiTonyTomLilyJackTonyTom

        System.out.println(names);
        System.out.println(names.indexOf("Tom")); // 2
        System.out.println(names.lastIndexOf("Tom")); // 6

        // 遍历列表(for循环遍历索引,foreach
        for (int i = 0; i < names.size(); i++) {
            System.out.println(names.get(i));
        }
        System.out.println("=========================================");
        for (String name : names) {
            System.out.println(name);
        }

        // 删除元素
        String n = names.remove(0);
        System.out.println("删除索引为0的元素,元素的值为:" + n);
        boolean bool = names.remove("Jack");
        System.out.println("删除Jack的结果:" + bool);
        System.out.println(names);

        // 修改元素的值
        names.set(0, "HanMeimei");
        System.out.println(names);

        // 获取元素的值 数组用[0]获取,列表用get方法
        System.out.println(names.get(0));

        // 获取列表长度
        System.out.println(names.size());
        // 查询,是否包含某个元素
        System.out.println(names.contains("Tom"));
        // 获取元素对应的索引
        System.out.println(names);



        /*
        练习:定义一个学生类,namescore两个属性,toString方法,构造方法。
        新建3个学生,把学生加入到列表中。
        遍历列表,每个学生的信息打印到一行,用\t分割开。
         */
        Student stu1 = new Student("Tom", 100);
        Student stu2 = new Student("Tony", 90);
        Student stu3 = new Student("Jack", 95);
        List<Student> students = new ArrayList<>();
        students.add(stu1);
        students.add(stu2);
        students.add(stu3);
        System.out.println(students);

        for (Student stu : students) {
            System.out.println("姓名:" + stu.getNames() + "\t分数:" + stu.getScore());
        }
        // 创建一个列表,asList 把数组转成列表
        List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6);
        System.out.println(nums);
        // 列表转数组
        Integer[] ns = (Integer[]) nums.toArray();
        System.out.println(Arrays.toString(ns));

        List<Integer> nums2 = Arrays.asList(10, 20, 30, 40, 50, 60);
        // 二个列表合并,Arrays.asList创建的列表不支持addAll
        // nums.addAll(nums);
        System.out.println(nums);

        List<String> aa = new ArrayList<>();
        aa.add("aa");
        aa.add("bb");
        names.addAll(aa);
        System.out.println(names);

        LinkedList<String> linkedList = new LinkedList<>();
        linkedList.add("red");
        linkedList.add("blue");
        linkedList.addFirst("green"); // 在头部添加元素
        linkedList.addLast("black"); // 在尾部添加元素
        System.out.println(linkedList);
        linkedList.removeFirst(); // 删除第一个
        linkedList.removeLast(); // 删除最后一个
        System.out.println(linkedList);

    }
}

class Student {
    String names;
    float score;

    public Student(String names, float score) {
        this.names = names;
        this.score = score;
    }

    public String getNames() {
        return names;
    }

    public void setNames(String names) {
        this.names = names;
    }

    public float getScore() {
        return score;
    }

    public void setScore(float score) {
        this.score = score;
    }

    @Override
    public String toString() {
        return "Student{" +
                "names='" + names + '\'' +
                ", score=" + score +
                '}';
    }
}

回复

使用道具 举报

关注0

粉丝0

帖子20

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备2025058934号-2 )

版权所有 © 西安菁英教育科技有限公司 2023-2026