ArrayList集合的长度是可以随机变化的,而数组的长度是不可变的。
对于ArrayList来说,有一个尖括号 < E > 代表泛型。
泛型:装在集合中的所有元素全都是统一的某个类型。
注意:泛型只能是引用类型,不是能基本类型,若要用基本类型,则使用基本类型的包装类。

ArrayList<String> list = new ArrayList<>(); //从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。
/*
从JDK 1.5+开始,支持自动装箱和自动拆箱。
自动装箱:基本类型 ------> 包装类型
自动拆箱:包装类型 ------> 基本类型
*/

习题一:生成6个1~33之间的随机整数,添加到集合,并遍历集合。

package demo02;import java.util.Random;
import java.util.ArrayList;public class demo02 {public static void main(String[] args) {Random r = new Random();                               //范围在[0,33)ArrayList<Integer> list = new ArrayList<>();        //包装类型的集合for (int i = 0; i < 6; i++) {                    //循环6次int num = r.nextInt(33) + 1;                    //范围在[1,34),即[1,33]list.add(num);                               //将数值加入集合中}System.out.println(list);                            //打印输出集合是否正确存在System.out.println("=======================");       //分隔开,看的清楚for (int i = 0; i < list.size(); i++) {             //遍历集合System.out.println(list.get(i));              //打印输出}}
}

运行结果为:

习题二:自定义4个学生对象,添加到集合,并遍历

//Student对象
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类
import java.util.ArrayList;public class demo02 {public static void main(String[] args) {//创建集合对象ArrayList<Student> list = new ArrayList<>();//创建4个学生对象Student s1 = new Student("小李",18);Student s2 = new Student("小刘",17);Student s3 = new Student("小王",19);Student s4 = new Student("小陈",20);//把学生对象加入到集合中list.add(s1);list.add(s2);list.add(s3);list.add(s4);//检查是否加入到集合中System.out.println(list);//遍历集合for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);System.out.println("姓名:" + stu.getName() + "\t年龄:" + stu.getAge());}}
}

运行结果为:

习题三:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素,格式参照{元素@元素@元素}。

import java.util.ArrayList;public class demo02 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();     //创建集合//将元素添加到集合中list.add("小明");list.add("小红");list.add("小兰");list.add("小黄");//使用方法printArrayList(list);}//定义指定打印格式的方法public static void printArrayList(ArrayList<String> list){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("}");                          //最后在打印一个 } 并换行}
}

运行结果为:

习题四:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到 小集合当中,要求用自定义的方法来筛选。

import java.util.ArrayList;
import java.util.Random;public class demo02 {public static void main(String[] args) {Random r = new Random();                                //创建生成随机数ArrayList<Integer> blist = new ArrayList<>();           //创建大集合for (int i = 0; i < 20; i++) {                          //生成20个随机数int num = r.nextInt(100) + 1;                      //生成数的范围在[1,101),即[1,100]blist.add(num);                                     //将20个随机数添加到大集合中}System.out.println(blist);                              //打印输出大集合watch(blist);                                           //使用自定义的方法}public static void watch(ArrayList<Integer> list) {         //定义将大集合中偶数放入小集合的方法ArrayList<Integer> slist = new ArrayList<>();           //创建一个小集合for (int i = 0; i <list.size() ; i++) {                 //进行遍历int even = list.get(i);if(even%2 == 0){                                    //判断随机数是否为偶数slist.add(even);                                //如果是则放入小集合中}}System.out.println(slist);                              //最后打印输出小集合}}

运行结果为:

JAVA —— ArrayList集合习题(共四题)相关推荐

  1. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello {public stati ...

  2. java ArrayList集合

    ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类).在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来 ...

  3. [JAVA][2013蓝桥杯模拟赛 JAVA本科B组][第四题:二阶魔方]

    第四题:二阶魔方 题目描述: 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示) 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下: x轴正向:绿 x轴反向:蓝 y轴正向: ...

  4. java ArrayList集合概述和基本使用 基础

    数组与ArrayList的区别:  1.数组的长度不可以发生改变  2.ArrayList集合的长度是可以随意发生变化 常用 ArrayList()           构造一个初始容量为 10 的空 ...

  5. java对集合遍历的四种方式

    目录 文章目录 目录 1.背景 2.添加集合 3.遍历集合 3.1 普通循环遍历 3.2 迭代器遍历 3.3 增强for遍历(foreach) 3.4 list.forEach 4.总结 1.背景 目 ...

  6. Java ArrayList集合常用方法

    创建对象:与其他普通的引用数据类型创建方式完全相同,但要指定容器中存储的数据类型: ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数 ...

  7. (day5) 自学Java——ArrayList集合

    目录 1. ArrayList 2.集合练习 (1)添加字符串和整数,并遍历 (2)添加学生对象并遍历 (3)查找用户是否存在 (4)返回多个数据 1. ArrayList 数组有个致命的弱点,那就是 ...

  8. 【sql】leetcode习题 (共 42 题)

    [175]Combine Two Tables (2018年11月23日,开始集中review基础) Table: Person +-------------+---------+ | Column ...

  9. Java学习之路-day-09 ArrayList集合

    Java ArrayList集合 每日一句 1. ArrayList 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.3 ArrayList存储字符串并遍历 1.4 Arr ...

  10. 【零基础学Java】—ArrayList集合概述和基本使用(十四)

    [零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...

最新文章

  1. arial unicode ms字体_5个检测商用字体和免费字体合集的网站
  2. 【不同的Java垃圾回收器的比较】
  3. Go 语言编程 — net 库
  4. python3 多进程 multiprocessing 报错 AttributeError: ‘ForkAwareLocal‘ object has no attribute ‘connection‘
  5. 像DW的应用源格式那样格式化VS里面的代码
  6. 剑指Offer - 九度1511 - 从尾到头打印链表
  7. 微信小程序-豆瓣电影TOP250
  8. 数据库原理与应用(SQL Server)笔记 第十章 用户定义函数
  9. oracle数据库之数据导入问题
  10. 超好:web app变革之rem
  11. 命令查看mysql端口映射_【转载】烂泥:如何利用telnet命令检测端口映射是否成功...
  12. 小程序员的不完整大学回忆3
  13. android代码 qq语音,Android仿QQ语音变声功能实现(二)---移植到android studio 并
  14. 百度地图(地图生成)
  15. (二)GNSS定位中的卫星轨道位置计算
  16. 如何快速制作一个漂亮的生日祝福网站
  17. [hadoop3.x]HDFS中的内存存储支持(七)概述
  18. 观看:使用治具和工厂管理样本数据
  19. 情人节送什么礼物好呢?实用又有纪念意义的礼物推荐
  20. C#MessageBox(消息提示框)使用详解

热门文章

  1. fastjson笔记
  2. 计算机网络技术云计算简历模板,云计算平台师个人简历模板
  3. 自建FTP和SFTP服务器
  4. kindeditor在线HTML编辑器
  5. linux svnadmin,linux安装centos7.5基于SVN+Apache+svnadmin实现SVN的web管理
  6. 计算机画图软件教学教案,画图软件教学设计
  7. 华为服务器SNMP协议怎么修改,华为迈普交换机、瑞斯康达SNMP协议配置方法
  8. java源代码反编译_XJad(Java源程序反编译软件)
  9. 网吧操作系统制作与优化
  10. MT6763/MT6763T处理器参数比较,MT6763设计资料参考