为了账号安全,请及时绑定邮箱和手机立即绑定

集合框架以及Map(一)

标签:
Java

集合又称容器,编程思想中对其的定义为持有对象

我们在使用集合或者数组时得到最多的异常就是数组下表越界异常 Java.lang.ArrayIndexOutOfBoundsException这篇文章我们不讨论异常

java的容器分为2部分 严格来说 Map接口下的子类并不属于集合框架 属于一个独立的体系

图片来源于https://blog.csdn.net/biexiaofei/article/details/77031003

看完这两张图片是不是感觉很复杂,没关系 知识是一点点积累的,今天我们从Collection接口说起

在此之前普及一个小知识 关于集合为什么不能存放基本类型数据

原文来自:https://blog.csdn.net/likun1239656678/article/details/84294606 

1.泛型的定义:在程序中我们将一个对象放入集合中,但是集合不会记住对象的类型,当我们在次使用对象的时候,对象变为Object类型,而程序中还是原来的类型,我们必须要自己转换其类型,为了解决这个问题,则提出泛型。

2.泛型要求包容的是对象类型,而基本数据类型在Java中不属于对象。但是基本数据类型有其封装类,且为对象类型。

3.想放int类型,要放Integer类型不能直接放int(基本数据类型)。

Collection接口

定义:一种存放对象的方式

复制代码

package com;

import java.util.*;

public class Demo {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        Collection<Integer>  collection
                =new HashSet<Integer>();
        collection.add(1);
        collection.add(1); //输出结果为[1]
        //直接使用Collection接口时需要注意一点 Set子接口 因为Set集合不允许存在重复元素 虽然不会报错但是会只显示一个元素
        System.out.println(collection.toString());
        //java.util 包下有一个Arrays的可以与容器进行互操作例如这样Arrays.asList(1,2,3,4,5)
        Collection <Integer> collection1=
                new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));
        System.out.println(collection1.toString());
        //[1, 2, 3, 4, 5]   有字面意思就可以看出是吧一个数组当做集合来使用初始化集合collection1
        //更简便的方法addAll()
        collection.addAll(collection1);
        System.out.println(collection.toString());
        //[1, 2, 3, 4, 5] 因为向上造型set实现类的作用 所以把多余的1去掉
    }
}

复制代码

好了 基本的存放元素说完了 我们存放一个对象试试

复制代码

  Collection<Apple>  collection                =new HashSet<Apple>();
        Apple apple                =new Apple();
        collection.add(apple);
        System.out.println(collection.toString());        //[com.Apple@1b6d3586] 输出结果是一个字符串 这里为什么没有输出Apple的属性是因为Apple类没有复写toString()方法
        System.out.println(collection.toString());        //[Apple{size=0, color='null'}] 输出默认值

复制代码

原文出处:https://www.cnblogs.com/tongAngle/p/10140701.html  

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消