ArrayList的使用

ArrayList集合的长度是可以随意变化的
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型;
注意:泛型只能是引用类型,不能是基本类型;
从JDK1.7开始,右侧的尖括号不用写内容,但是尖括号<>本身不能省略

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

例题:创建及打印,遍历

public class ArraylistDemo {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);
        list.add("wnekai");
        list.add("tiantian");
        list.add("meinv");
        list.add("yilake");
        System.out.println(list);
        for (String listnum:list){
            System.out.println(listnum);
        }
    }
}

例题:读取list中的内容用get

System.out.println(list.get(1));

例题:从集合中删除数据用remove(int index)

    list.remove(1);
    System.out.println(list);

例题:打印list的长度用list

 System.out.println(list.size());

如果想使用基本类型,必须使用基本类型的“包装类”
基本类型 包装类(引用类型,包装类位于java.lang包下)

基本包装
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

JDK1.5 开始,支持自动装箱,自动拆箱
自动装箱和自动拆箱

概念:

1)自动装箱:Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱。

2)自动拆箱就是:反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱。

原理:

1)自动装箱时编译器调用valueOf将原始类型值转换成对象。

2)同时自动拆箱时,编译器通过调用类似intValue(),doubleValue()这类的方法将对象转换成原始类型值。

举例:

Integer i = 11;//自动装箱,实际上执行了Integer i = Integer.valueOf(11);

int t = i;//自动拆箱,实际上执行了 int t = i.intValue();

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

import java.util.ArrayList;
import java.util.Random;

public class ArraylistRandom {
    public static void main(String[] args) {
        ArrayList<Integer> listall = (ArrayList<Integer>) Randomlist(6,1,33);
        for (int i : listall){
            System.out.println(i);
        }

    }
    public static ArrayList<Integer> Randomlist(int n, int start, int end){
        ArrayList<Integer> list = new ArrayList<>();
        for (int  i = 1 ; i <= n;i++ ) {
            list.add(new Random().nextInt(end) + start);
        }

        return  list;
    }
}

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

package com.learn.Demo9;

import java.util.ArrayList;

public class ArraylistStudent {
    public static void main(String[] args) {
        ArrayList<Student> students=new ArrayList<>();
        Student num1 =new Student("num1",11);
        Student num2 =new Student("num2",12);
        Student num3 =new Student("num3",13);
        Student num4 =new Student("num4",14);
        students.add(num1);
        students.add(num2);
        students.add(num3);
        students.add(num4);
        for (Student list:students){
            System.out.println("姓名"+list.getName()+"年龄"+list.getAge());
        }
    }

}

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

package com.learn.Demo9;

import java.util.ArrayList;

public class ArrayListChange {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(100);
        list.add(200);
        list.add(300);
        listChange(list);
    }
    public  static void listChange(ArrayList<Integer> list){
        System.out.print("{");
        for (Integer i = 0; i <=list.size()-1; i++){
            if (i==list.size()-1){
                System.out.print(list.get(i));
            }else{
                System.out.print(list.get(i));
                System.out.print("@");

            }
        }
        System.out.println("}");
    }
}

例题:定义获取所有偶数元素集合的方法(ArrayList类型作为返回值)

package com.learn.Demo9;

import javax.swing.event.ListDataEvent;
import java.util.ArrayList;
import java.util.Random;

public class ArrayListEven {
    public static void main(String[] args) {
        ArrayList<Integer> bignum=new ArrayList<>();
//        随机生成20个100以内整数
        for (int i = 0; i<20; i++){
            bignum.add(new Random().nextInt(100)+1);
        }
        System.out.println(bignum);
       ArrayList<Integer> minnum= ListEven(bignum);
        System.out.println(minnum);
    }
    public static  ArrayList<Integer> ListEven(  ArrayList<Integer> bignum){
        ArrayList<Integer> minnum=new ArrayList<>();
        for(Integer i : bignum){
            if (i % 2 ==0){
                minnum.add(i);
            }
        }
        return minnum;
    }
}

视频百度下载地址:
链接:https://pan.baidu.com/s/1TNIezz8jaM0g_qA27tV6sg 提取码:cecx
视频全套教程购买地址:http://suo.im/5zgMaW

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值