A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴锋 初级黑马   /  2018-7-19 23:26  /  933 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 戴锋 于 2018-7-19 23:42 编辑

  数组的长度不可以发生改变
  但是ArrayList集合的长度是可以随意变化的

  对于ArrayList来说,有一个尖括号<E>代表泛型
  泛型:  也就是装在集合当中的所有元素,全都是统一的什么类型
  注意:  泛型只能是引用类型,不能是基本类型

  注意事项:
  对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
  如果内容是空,得到的是空的中括号:[]
  ArrayList当中的重用方法有:

  public boolean add(E e): 向集合当中添加元素,参数的类型和泛型一致.返回值代表添加是否成功
      备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用
      但是对于其他集合(今后学习)来说,add添加动作不一定成功
  public E get (int index):从集合当中获取元素,参数是索引编号,返回值就是对应元素的位置

  public E remove(int index): 从集合当中删除元素,参数是索引编号,返回值就是被删掉的元素

  public int size():       获取集合的尺寸长度,返回值是集合中包含的元素个数
  如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的"包装类"

  基本类型    包装类(引用类型,包装类都位于java.lang包下)
  byte       Byte
  short      Short
  int        Integer      [特殊]
  long       Long
  float      Float
  double     Double
  char       Character    [特殊]
  boolean    Boolean

  从JDK 1.5+开始,支持自动装箱/自动拆箱

  自动装箱: 基本类型 --> 包装类型
  自动拆箱: 包装类型 --> 基本类型


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

分析:
    1.需要创建一个大集合,用来存储int数字:<Integer>
    2.随机数字就用Random nextInt
    3.循环20次,把随机数字放入大集合:for循环/add方法
    4.定义一个方法,用来进行筛选
        筛选:根据大集合,筛选符合要求的元素,得到小集合
        三要素:
        返回值类型: ArrayList小集合(里面元素个数不确定)
        方法名称:   getSmallList
        参数列表:   ArrayList大集合(装着20个随机数字)
    5.判断(if)是偶数:num % 2 == 0
    6.如果是偶数,就放到小集合当中,否则不放
import java.util.ArrayList;
import java.util.Random;
public class Demo09ArrayListReturn {
    public static void main(String[] args) {
        ArrayList<Integer> bigList = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 20; i++) {
            int num = r.nextInt(100)+1;
            bigList.add(num);
        }
        ArrayList<Integer> smallList = getSmallList(bigList);
        System.out.println("偶数总共有多少个:"+smallList.size());
        for (int i = 0; i < smallList.size(); i++) {
            System.out.println(smallList.get(i));
            
        }

    }
    public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList){
        ArrayList<Integer> smallList = new ArrayList<>();
        for (int i = 0; i < bigList.size(); i++) {
            int num = bigList.get(i);
            if (num % 2 ==0){
                smallList.add(num);
            }
        }
        return smallList;
    }
}



1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马