ArrayList

Random

使用三步骤:

  1. 导包 import java.util.Random
  2. 创建 Random r = new Random();
  3. 使用 int num = r.nextInt(); 获取一个int随机数
    若要规定随机数的范围(左闭右开): int num=r.nextInt(5);即取值范围为[0,3),即0、1、2。

ArrayList集合

基本使用

数组的长度不可以发生改变,但是ArrayList集合的长度是可以随意变化。
对应ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全部都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。(字符串、类、数组、接口、Lambda)
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容为空,则结果是[]

ArrayList<String> list = new ArryList<>();
System.out.println(list);	//[]
//向集合中添加一些数据,用add方法
list.add("张三");
System.out.println(list);	//[张三]
list.add("李四");
list.add("王五");
System.out.println(list);	//[张三,李四,王五]
//list.add(100);错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行

常用方法

ArrayList当中的常用方法:

public boolean add(E e):向集合当中添加元素,参数类型和泛型一致。
    注意:对于ArrayList集合;来说,add添加动作一定是成功的,所以返回值可用可不用。
        但对于其他集合来说,add添加动作不一定成功。
public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除的元素。
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数
import java.util.ArrayList;

public class Demo01{
    public static void main(String[] args){
    Array<String> list =new ArrayList<>();
	boolean res=list.add("孙权");
System.out.println("添加的动作是否成功:"+res);//true
	list.add("刘备");
	list.add("曹操");
	list.add("赵云");
        System.out.println(list);//[孙权,刘备,曹操,赵云]
	//从集合中获取元素:get,索引值从0开始
	String name=list.get(2);//因为泛型是String类型,所以用String定义name
	System.out.println(name);//曹操
	//从集合中删除元素:remove,索引值从0开始
	String Rmd=list.remove(3);
    	System.out.println(Rmd);//赵云
		System.out.println(list);[孙权,刘备,曹操]
	int size=list.size();
System.out.println(size);//3,集合的长度,即集合内元素的个数
        //遍历集合
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
  }
}	
//输出结果为
/*	孙权
	刘备
	曹操
*/

ArrayList集合存储基本类型数据

如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的包装类。
基本类型 包装类(引用类型,包装类都位于java.lang包下)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

自动装箱:基本类型——>包装类型

自动柴箱:包装类型——>基本类型

public class Demo01{
    public static void main(String[] args){
    Array<String> listA =new ArrayList<>();
/*ArrayList<int> listB=new ArrayList<>();错误写法,泛型只能是引用类型,不能是基本类型。其实集合中保存的都是地址值,但是基本类型的数据没有地址值。*/
	Array<Integer> listB=new ArrayList<>();
	listB.add(100);
	listB.add(200);
	listB.add(300);
    System.out.println(listB);//[100,200,300]
    int num=listB.get(1);
        System.out.println(num);//200
  }
}	

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

import java.util*
    
    public class test01{
        publuc static void main(String[] args){
            ArrayList<Integer> list =new ArrayList<>();
             Random a=new Random();
            for(int i=0;i<6;i++){
                int num=a.nextInt(33)+1;
                list.add(num);
            }
           //遍历集合
            for(jint i=0;i<list.size();i++){
                System.out.println(list.get(i));
      }
   }
}

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

import java.util*
    
    public class test01{
        publuc static void main(String[] args){
            ArrayList<String> list =new ArrayList<>();
          	list.add("张三丰")
            }
           //遍历集合
            for(jint i=0;i<list.size();i++){
                System.out.println(list.get(i));
      }
   }
}
posted @ 2021-07-19 12:53  咸蛋白  阅读(67)  评论(0)    收藏  举报