Array List

ArrayList集合

为甚要有集合

  • 集合自动扩容

  • 集合存储数据类型的特点:只能存放引用数据类型,如果要存放基本数据类型,则要把其包装类去存放

  • 集合和数组的对比:

    1.长度:数组长度固定,集合长度可变

    2.存储类型:可存放基本数据类型和引用基本类型;集合是只可以存放引用数据类型,如果存放基本数据类型,要把它包装类

ArrayList类

泛型:限定集合中存储数据的类型

 方法名说明
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("a");
list.add("b");
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> lst = new ArrayList<>();//创建一个集合
lst.add(1);//添加元素
lst.add(2);
lst.add(3);
lst.add(4);
System.out.print("[");//进行拼接
for (int i = 0; i < lst.size(); i++) {//遍历其中每一个元素
  if (i==lst.size()-1){
      System.out.print(lst.get(i));
  }else{
      System.out.print(lst.get(i)+", ");
  }
}
System.out.println("]");

练习难度增加

题目三:定义一个集合,添加一些学生对象,并且进行遍历。学生类的属性为:姓名,年龄。要求:键盘录入

分析点:进行键盘输入,然后注意创建的学生类要放在循坏里面,这样才会创建不同的学生对象。不然最后索引遍历会被覆盖

主要代码;
for (int i = 0; i < 2; i++) {
  Student s =new Student();
  System.out.println("请输入姓名");
  String name = sc.next();
  System.out.println("请输入年龄");
  int age = sc.nextInt();
  //把name和age给对象
  s.setName(name);
  s.setAge(age);
//把对象的内容给集合
  list.add(s);
}

题目四:需求:main方法中定义一个集合,存放三个用户对象,用户属性为id,username,password。

要求:定义一个方法,根据id查找用户信息。如果存在,返回true,如果不存在,返回false

写方法分析:1.我要干嘛2.我干这件事需要什么才能完成3.调用处是否需要调用的结果

 ArrayList<User> list = new ArrayList<>();
  //2.存入对象
  User u1 = new User("yangjia01","zhangsan","12334");
  User u2 = new User("yangjia02","lisi","123456");
  User u3= new User("yangjia03","wagqu","123yut");
  //3.存放到集合里
  list.add(u1);
  list.add(u2);
  list.add(u3);
  boolean flag = contains(list, "yangjia01");
  System.out.println(flag);
}
//写方法
//1.我要干嘛?查找id
//2.干这件事需要什么才能完成 在list找id
//3.调用处是否需要调用方法的结果
public static boolean contains(ArrayList<User> list,String id){
  for (int i = 0; i < list.size(); i++) {
      if ( list.get(i).getId().equals(id)){
          return true;
      }
  }
  return false;
  }
posted @   tingtang  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示