java 集合部分知识

一、 数组和集合区别

使用数组,但是数组有局限性,比如 声明长度是10的数组,不用的数组就浪费了,超过10的个数,又放不下。而集合可以自动扩张

可以补两张,集合 集成的关系图:在网上看通过idea能查到关系图,不过我暂时没做到

二、使用ArrayList

1. 添加引用类型和基本类型数据

引用数据类型(对象、数组) 和 基本数据类型(整数byte short int long float double、字符串、字符、布尔类型)

public static void arrayList(){
        //容器类ArrayList,用于存放数据
        ArrayList<Object> heros = new ArrayList();
        //数据类型:
        heros.add(12);
        heros.add('C');
        heros.add("111");
        heros.add(true);
        heros.add(new Arrays[10]);
        heros.add(new Hero("盖伦",50));
        System.out.println(heros);
        //输出[12, C, 111, true, [Ljava.util.Arrays;@74a14482, Hero{name='盖伦', price=50}]
        
        //可以指定位置插入
        heros.add(1,'D');
    }

2. 使用迭代器遍历元素

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

Java中的Iterator功能比较简单,并且只能单向移动:

(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

(2) 使用next()获得序列中的下一个元素。

(3) 使用hasNext()检查序列中是否还有元素。

(4) 使用remove()将迭代器新返回的元素删除。

public static void arrayList(){
        ArrayList<Object> heros = new ArrayList();
        heros.add(12);
        heros.add('C');
        heros.add("111");
        heros.add(true);
        heros.add(new Arrays[10]);
        heros.add(new Hero("盖伦",50));
        //以正确的顺序返回该列表中的元素的迭代器
        Iterator<Object> iterator = heros.iterator();
        //遍历元素迭代器
        while(iterator.hasNext()){
            Object str =  iterator.next();
            System.out.println(str);
        }
  }

3. 其它两种遍历方式

for 循环 和 增强for循环

  for(int i=0;i<heros.size();i++){
        Object obj = heros.get(i);
        System.out.println(obj);
  }
 for (Object obj:heros) {
     System.out.println(obj);
 }

4. 带泛型的集合

        自己目前的理解,就是规定集合只能装一种数据类型,不符合装不进去,也不会出现遍历拿出时出错。

三、ArrayList 和 HashMap区别

最主要用途上区别:HashMap是键值对存储,ArrayList是单个值存储

四、使用HashMap

1.添加元素 和 使用迭代器迭代元素

 public static void HashMapMethod(){
        HashMap<String, Object> hashMap = new HashMap<>();
        hashMap.put("name","小溪");
        hashMap.put("age",12);
        System.out.println(hashMap);
        //返回此map中包含的映射的Set视图
        Set<Map.Entry<String, Object>> entries = hashMap.entrySet();
        //迭代器
        Iterator<Map.Entry<String, Object>> iterator = entries.iterator();
        while (iterator.hasNext()){
            Map.Entry<String, Object> next = iterator.next();
            String key = next.getKey();
            Object value = next.getValue();
            System.out.println("键="+key+"---"+"值="+value);
        }
 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tengyuxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值