JAVA学习第九章——ArrayList

集合

  1. 自动扩容
  2. 存引用数据类型

ArrayList

        ArrayList<String> list = new ArrayList<>();

        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        String end = list.remove(2);

        String result = list.set(1, "pdd");

        String s = list.get(0);

        System.out.println(result);

        System.out.println(s);

        System.out.println(list);
boolean add(E e)  添加元素,返回值表示是否添加成功
boolean remove(E e)  删除指定元素,返回值表示是否删除成功
E remove(int index)  删除指定索引的元素,返回被删除元素
E set(int index,E e)  修改指定索引下的元素,返回原来的元素
E get(int index)  获取指定索引的元素
int size()  集合的长度,也就是集合中元素的个数

集合的遍历方式

        ArrayList<String> list = new ArrayList<>();

        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
            if(i == list.size() -1 ){
                System.out.print(list.get(i));
            }else {
                System.out.print(list.get(i) + ", ");
            }
        }
        System.out.println("]");

添加数字并遍历

定义一个集合,添加数字,并进行遍历

        ArrayList<Integer> list = new ArrayList<>();

        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {
            if(i == list.size() - 1){
                System.out.print(list.get(i));
            }else {
                System.out.print(list.get(i) + ", ");
            }
        }
        System.out.println("]");
        ArrayList<Character> list = new ArrayList<>();
        list.add('a');
        list.add('b');
        list.add('c');

        System.out.println(list);
byte  Byte
short  Short
char  Character
int Integer
long  Long
float  Float
double  Double
boolean  Boolean

添加学生对象并遍历

定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄

package one;

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

import java.util.ArrayList;

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

        student s1 = new student("zhangsan",23);
        student s2 = new student("lisi",24);
        student s3 = new student("wangwu",22);

        list.add(s1);
        list.add(s2);
        list.add(s3);

        for (int i = 0; i < list.size(); i++) {
            student stu = list.get(i);
            System.out.println(stu.getName() + ", " + stu.getAge());
        }
    }
}

添加学生对象并遍历(二)

定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄
对象的数据来自键盘录入

package one;

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

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

        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 3; i++) {
            student s = new student();
            System.out.println("请输入学生姓名:");
            String name = sc.next();
            System.out.println("请输入学生年龄:");
            int age = sc.nextInt();

            s.setName(name);
            s.setAge(age);

            list.add(s);
        }

        for (int i = 0; i < list.size(); i++) {
            student stu = list.get(i);
            System.out.println(stu.getName() + ", " + stu.getAge());
        }
    }
}
package one;

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

添加用户对象并判断是否存在

main方法中定义一个集合,存入三个用户对象
用户属性为:id,usernam,password
定义一个方法,根据id查找对应的用户信息
如果存在,返回true
如果不存在,返回false

package one;

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

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

        user u1 = new user("hema001", "zhangsan", "123456");
        user u2 = new user("hema002", "lisi", "1234");
        user u3 = new user("hema003", "wangwu", "12qwer");

        list.add(u1);
        list.add(u2);
        list.add(u3);

        boolean flag = contains(list, "hema001");

        System.out.println(flag);


    }

    public static boolean contains(ArrayList<user> list, String id) {
        for (int i = 0; i < list.size(); i++) {
            String uid = list.get(i).getId();
            if(uid.equals(id)){
                return true;
            }
        }
        return false;
    }
}
package one;

public class user {
    private String id;
    private String username;
    private String password;

    public user() {
    }

    public user(String id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

添加手机对象并返回要求的数据

定义Javabean类:phone
phone属性:品牌,价格
main方法中定义一个集合,存入三个手机对象
分别为:小米,1000;苹果,8000;锤子,29999
定义一个方法,将价格低于3000的手机信息返回

package one;

import java.util.ArrayList;

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

        phone p1 = new phone("小米", 1000);
        phone p2 = new phone("苹果", 8000);
        phone p3 = new phone("锤子", 2999);

        list.add(p1);
        list.add(p2);
        list.add(p3);

        ArrayList<phone> phoneInfo = getPhoneInfo(list);

        for (int i = 0; i < phoneInfo.size(); i++) {
            phone phone = phoneInfo.get(i);
            System.out.println(phone.getBrand() + ", " + phone.getPrice());
        }
    }

    public static ArrayList<phone> getPhoneInfo(ArrayList<phone> list) {
        ArrayList<phone> result = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            phone p = list.get(i);
            int price = p.getPrice();
            if (price < 3000) {
                result.add(p);
            }
        }

        return result;
    }
}
package one;

public class phone {
    private String brand;
    private  int price;

    public phone() {
    }

    public phone(String brand, int price) {
        this.brand = brand;
        this.price = price;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }
}

Tips

以上学习内容均来自于B站黑马程序员

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值