集合框架以及Map(一)

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

我们在使用集合或者数组时得到最多的异常就是数组下表越界异常 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());
        //[[email protected]] 输出结果是一个字符串 这里为什么没有输出Apple的属性是因为Apple类没有复写toString()方法
        System.out.println(collection.toString());
        //[Apple{size=0, color=‘null‘}] 输出默认值

今天先写到这明天继续

原文地址:https://www.cnblogs.com/tongAngle/p/10140701.html

时间: 2024-10-07 08:17:18

集合框架以及Map(一)的相关文章

双列集合框架:Map(个人理解)

双列集合框架:Map1.常用实现类结构|----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x)* |----HashMap:作为Map的主要实现类:线程不安全的,效率高:存储null的key和value* |----LinkedHashMap:保证在遍历map元素时,可以照添加的顺序实现遍历.* 原因:在原的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素.* 对于频繁的遍历操作,此类执行效率高于HashMap.* |----Tre

黑马程序员-集合框架(Map和Collections)

--Java培训.Android培训.iOS培训..Net培训.期待与您交流!--- 一.概述 Map是一种存储键值对的存储容器,而且保证键的唯一性.提供一种以"键"标识"值"的数据存储方式.接口形式为:Map<K,V>,其中K是此映射所维护的键的类型,V是映射值的类型.其有两个常用子类,HashMap和TreeMap,另有HashTable与HashMap功能类似,是早期版本.三者特点与不同如下: HashMap:JDK1.2版本出现,底层使用哈希表数

初始集合框架 List Map Set

java集合框架集合框架就是简称JCF(java Collections Framework)集合的特点:元素类型可以不同,集合长度不变,空间不固定 Collection接口和Iterator接口 在集合框架中,分为两种API:一是装载数据的集合类.二是操作集合的工具类. 集合接口位于Set接口和List接口的最顶层,是Set接口和List接口的父接口.定义了Collection对象共有的一些基本方法,这些方法分为基本操作.批量操作和数组操作. Iterator接口是一种用于遍历集合的接口.所谓

Java集合框架中Map接口的使用

在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不是线性的存放对象的引用,Map接口提供了一种映射关系,所有的元素都是以键值对(Entry类型对象实例)的方式存储的,所以能够根据key快速查找value,key是映射关系的索引,value是key所指向的对象,注意,这里的value不是一个数值,而是一个对象的引用,Java集合框架的元素均是指对象!

【JAVA集合框架之Map】

一.概述.1.Map是一种接口,在JAVA集合框架中是一个非常重要的集合.2.Map一次添加一对元素,所以又称为“双列集合”(Collection一次添加一个元素,所以又称为“单列集合”)3.Map集合中存放的是一个一个的键值对,集合中存放的元素必须保证键的唯一性.二.常用方法.1.添加  V put(K key, V value)           将指定的值与此映射中的指定键关联(可选操作). 该方法的作用就是向集合中添加一个键值对,并返回一个值:如果键存在,则返回对应的旧值,并以新值取代

集合框架系列 Map(十一):LinkeHashMap

目录 1 概述 2 原理 3 源码分析 3.0 Entry 的继承体系 3.1 链表的建立过程 3.2 链表节点的删除过程 3.3 访问顺序的维护过程 3.4 基于 LinkedHashMap 实现缓存 4 总结 1. 概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,LinkedHashMap 对访问顺序也提供了相关支持.在一些场景下,该特性很有用,比如缓存.在

集合框架之Map接口

Map是将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. Map 接口提供三种collection视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如 HashMap 类. 所有通用的映射实现类应该提供两个"标准的"构造方法:一个 void(无参数)构造方法,用于创建空映射:一个是带有单个

java集合框架之Map

Map: 一次添加一对元素(key->value) 双列集合,键值对 常用方法: 1.  添加 V put(K key , V value)会更新key对应的value,并返回被替换的value 2.  删除 clear():清空集合 V remove(K key) :根据指定的key删除这个键值对 3.  判断: Boolean containsKey(key) Boolean containsValue(value); Boolean isEmpty(); 4.  获取 Value get(

[javaSE] 集合框架(Map概述)

Map集合,将key对象映射到value对象 三个主要的子类:Hashtable,HashMap,TreeMap Hashtable:底层是哈希表数据结构,不允许使用null值,线程同步 HashMap:底层是哈希表数据结构,允许使用null值,线程不同步 TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键排序 使用keySet()方法遍历Map集合 调用Map对象的keySet()方法,得到Set对象,这里存储的是所有的键 import java.util.HashM