zoukankan      html  css  js  c++  java
  • Java自学-集合框架 与数组的区别

    Java集合框架与数组的区别

    示例 1 : 使用数组的局限性

    如果要存放多个对象,可以使用数组,但是数组有局限性
    比如 声明长度是10的数组
    不用的数组就浪费了
    超过10的个数,又放不下

    //TestCollection.java
    package collection;
     
    import charactor.Hero;
     
    public class TestCollection {
        public static void main(String[] args) {
            //数组的局限性
            Hero heros[] = new Hero[10];
            //声明长度是10的数组
            //不用的数组就浪费了
            //超过10的个数,又放不下
            heros[0] = new Hero("盖伦");
                    //放不下要报错
            heros[20] = new Hero("提莫");
             
        }
         
    }
    
    
    // 重写了toString的Hero
    package charactor;
     
    public class Hero {
        public String name;
        public float hp;
     
        public int damage;
     
        public Hero() {
     
        }
     
        // 增加一个初始化name的构造方法
        public Hero(String name) {
     
            this.name = name;
        }
     
        // 重写toString方法
        public String toString() {
            return name;
        }
     
    }
    

    示例 2 : ArrayList存放对象

    为了解决数组的局限性,引入容器类的概念。 最常见的容器类就是
    ArrayList
    容器的容量"capacity"会随着对象的增加,自动增长
    只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题。

    package collection;
     
    import java.util.ArrayList;
     
    import charactor.Hero;
     
    public class TestCollection {
        @SuppressWarnings("rawtypes")
        public static void main(String[] args) {
            //容器类ArrayList,用于存放对象
            ArrayList heros = new ArrayList();
            heros.add( new Hero("盖伦"));
            System.out.println(heros.size());
             
            //容器的容量"capacity"会随着对象的增加,自动增长
            //只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题。
            heros.add( new Hero("提莫"));
            System.out.println(heros.size());
             
        }
         
    }
  • 相关阅读:
    【可能是】退役记
    cf3
    react使用antd的Autocomplate时,给onSearch运用lodash的防抖debounce不生效
    依赖项useEffect的执行顺序问题
    AppleDoc 介绍
    AppleDoc 安装步骤
    AppleDoc 使用介绍
    GetKernel32Moudle and GetProcAddress
    TLS回调函数无效
    新的博客地址
  • 原文地址:https://www.cnblogs.com/jeddzd/p/11796446.html
Copyright © 2011-2022 走看看