• java学习笔记(day11)


    0x00 对象数组

    数组有一个缺点:
    一旦创建,程序运行期间长度不可以发生改变。

    0x01 ArrayList类

    ArrayList类和数组的区别:

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

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

    PS:在创建ArrayList集合的时候,从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。

    注意事项:

    1. 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
      如果内容是空,得到的是空的中括号:【】。
    2. 在新建ArrayList集合的时候,泛型里面写的什么数据类型,就只能往其中插入那种类型的数据。

    向集合当中添加一些数据,需要用到add方法。

    ArrayList集合的常用方法和遍历

    ArrayList当中的常用方法有:

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

    ArrayList集合存储基本数据类型

    注意:因为集合的泛型只能是引用类型,不能是基本类型。因为集合保存的是地址值,而基本类型没有地址值。

    如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类“。

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

    从JDK 1.5+开始,支持自动装箱、自动拆箱。
    自动装箱:基本类型--> 包装类型
    自动拆箱:包装类型--> 基本类型

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

    package day11;
    /*题目:生成6个1-33之间的随机整数,添加到集合中,并遍历集合。 */
    import java.util.ArrayList;
    import java.util.Random;
    public class lianxi01 {    
          public static void main(String[] args) {        
                Random r = new Random();        
                ArrayList<Integer> list = new ArrayList<>();        
                for (int i = 0; i < 6; i++) {            
                      int ran = r.nextInt(33) + 1;            
                      list.add(ran);        
                }        
                for (int i = 0; i < list.size() ; i++) {            
                      System.out.println(list.get(i));        
                }    
          }
    }
    

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

    package day11;
    /*题目:自定义4个学生对象,添加到集合,并遍历。 */
    import java.util.ArrayList;
    public class lianxi02 {    
          public static void main(String[] args) {        
                ArrayList<Student> list = new ArrayList<>();        
                Student one = new Student("万丽娜",18);        
                Student two = new Student("鞠婧祎",18);        
                Student three = new Student("费沁源",18);        
                Student four = new Student("徐子轩",18);        
    
                list.add(one);        
                list.add(two);        
                list.add(three);        
                list.add(four);        
    
                for (int i = 0; i <list.size() ; i++) {            
                      Student stu = list.get(i);            
                      System.out.println("姓名是"+stu.getName()+"年龄是"+stu.getAge());        
                }    
          }
    }
    

    练习3:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用大括号{}括起集合,使用@分割元素。格式参考{元素@元素@元素}

    package day11;
    /*题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用大括号{}括起集合,使用@分割元素。格式参考{元素@元素@元素} */
    import java.util.ArrayList;
    public class lianxi03 {    
          public static void main(String[] args) {        
                ArrayList<String> list = new ArrayList<>();        
                list.add("小明");        
                list.add("小红");        
                list.add("小刚");        
                list.add("小强");        
                System.out.println(list);        
                printArrayList(list);    
          }    
          public static void printArrayList(ArrayList<String> list){        
                System.out.print("{");        
                for (int i = 0; i <list.size() ; i++) {            
                      String name = list.get(i);            
                      if (i == list.size() -1 ){                
                            System.out.print(name + "}");            
                      } else {                
                            System.out.print(name + "@");            
                      }        
                }    
          }
    }
    

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

    package day11;
    /*题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中要求使用自定义方法来实现筛选。 */
    import java.util.ArrayList;
    import java.util.Random;
    public class lianxi04 {    
          public static void main(String[] args) {        
                Random r = new Random();        
                ArrayList<Integer> list1 = new ArrayList<>();        
                for (int i = 0; i <20 ; i++) {            
                      int num = r.nextInt(100);            
                      list1.add(num);        
                }        
                System.out.println(list1);        
    
                ArrayList<Integer> list2 = get2list(list1);        
                System.out.println("偶数总共有:"+list2.size());        
                System.out.println(list2);    
          }    
          public static ArrayList<Integer> get2list(ArrayList<Integer> list1){        
                ArrayList<Integer> list2 = new ArrayList<>();        
                for (int i = 0; i <list1.size() ; i++) {            
                      int num = list1.get(i);            
                      if (num % 2 == 0){                
                            list2.add(num);            
                      }        
                }        
                return list2;    
          }
    }
    
    文章未经本人允许,禁止转载。 有技术问题,可加好友讨论。 联系方式:QQ:MjgxMjMxODAzNQ== 微信:bzNycjByLVhpYW9taW5n
  • 相关阅读:
    用python40行代码编写的计算器
    用Python语言设计GUI界面
    win7下安装Linux实现双系统全攻略
    Dreamweaver_CS6安装与破解,手把手教程
    windows Server 2008各版本有何区别?
    如何查看路由器中的pppoe拨号密码?
    xp远程桌面连接最大用户数怎么设置?
    网站的盈利模式
    linux 下安装mysql-5.7.16
    BroadcastReceiver接收电量变化的广播-------在代码中动态创建接受者
  • 原文地址:https://www.cnblogs.com/Xiaoming0/p/13779853.html
Copyright © 2020-2023  润新知