、数组和集合的比较

数组:长度固定,用来存放基本类型的数据

集合:长度不固定,用来存放对象的引用

二、集合类的基本概念

1.java.util包中提供了一些集合类,这些集合类也被称为容器。

常用的集合有List集合、Set集合、Map集合,他们的关系继承如下:

2.Collection接口:

Collection<String> list = new ArrayList<>()

常用方法:

方法 功能描述
add(E e) 将指定的对象添加到该集合中
remove(Object o) 将指定的对象从该集合中删除
isEmpty() 判断当前集合是否为空,返回boolean型
iterator() 迭代器,用于遍历集合中的对象
size() 获取集合中的元素,返回int值

3.List接口:(有序,可以用索引来访问元素,包含重复对象)

(1)ArrayList是可变的数组,允许保存所以的元素,速度较慢

(2)LinkedList便于插入和删除对象

List<E> list = new ArrayList<>()

List<E> list = new LinkedList<>()   {E为数据类型,如果不懂的话看上一篇讲泛型的随笔}

其他两个常用方法;

方法 功能描述
get(int index) 获得指定索引位置的元素
set(int index, Object obj) 将指定位置元素修改为指定对象

4.Set集合:(无序,不包含重复对象)

TreeSet<E> tree = new TreeSet<>()

其他两个常用方法;

方法 功能描述
first()                                                                          返回此set中第一个元素                                                      
last() 返回此set中最后一个元素

5.Map接口:(没有继承Collection接口,提供key到value的映射,不能包含相同的key,且每一个key只能映射一个value)

Map<E, E> map = new HashMap<>();       <E, E>指的是key和value的数据类型。

方法 功能描述
put(K key, V value) 向集合中添加key和value的映射关系
get(Object key) 如果存在指定的key对象,则返回该对象对应的value,否则返回null
keyset() 返回集合中所有key对象形成的set集合
values() 返回集合中所有value形成的Collection集合
   

Java--容器/集合类(Collection)理解和使用的更多相关文章

  1. 【Java心得总结六】Java容器中——Collection

    在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...

  2. Java 容器:Collection 初探之 List

    1 ///: JavaBasic//com.cnblogs.pattywgm.day1//CollectionTest.java 2 3 package com.cnblogs.pattywgm.da ...

  3. Java容器集合类的区别用法

    Set,List,Map,Vector,ArrayList的区别 JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└ ...

  4. Java——容器(Collection)

    Collection是一个接口,定义了一系列的方法.   [常见方法]  

  5. java 容器(collection)--ArrayList 常用方法分析 源码分析

    ArrayList 介绍 打开jdk源码看看官方文档的介绍 粗糙的翻译下大致意思是: List接口的可调整大小的数组实现.实现了所有可选的列表操作,并允许所有元素,包括 null .除了实现List接 ...

  6. java容器(一) Collection类框架图解

  7. 【Java心得总结七】Java容器下——Map

    我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角 ...

  8. 【Java心得总结五】Java容器上——容器初探

    在数学中我们有集合的概念,所谓的一个集合,就是将数个对象归类而分成为一个或数个形态各异的大小整体. 一般来讲,集合是具有某种特性的事物的整体,或是一些确认对象的汇集.构成集合的事物或对象称作元素或是成 ...

  9. 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践

    对于公开课,可能目前用不上这些,但是往往能在以后想解决方案的时候帮助到我.以下是阿里对公开课的整理 摘要: 在首届阿里巴巴在线峰会上,阿里巴巴中间件技术部专家魏鹏为大家带来了题为<基于Java容 ...

  10. 理解java容器:iterator与collection,容器的起源

    关于容器 iterator与collection:容器的起源 iterator的简要介绍 iterable<T> iterator<T> 关于remove方法 Collecti ...

随机推荐

  1. [Xcode 实际操作]八、网络与多线程-(22)使用GCD多线程技术异步下载图片

    目录:[Swift]Xcode实际操作 本文将演示如何使用使用GCD多线程技术异步下载图片. Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法 ...

  2. Mybatis源码解析(二)

    根据上篇的代码跟踪mybatis已经ready好 SqlSessionFactory了,下面就是我们怎么去通过这个factory去获取sqlSession会话了,继续扒源码: mybatis-spri ...

  3. ebullient(2018.10.25)

    结论巨好想,每一次操作可以看作把一个b往前移一位,另一个b往后移一位,逆序对个数不改变,判断即可做第一问. 此处代码仅给出第一问做法: #include<cstdio> #include& ...

  4. mongodb vs redis(Tokyo Tyrant转)

    * MongoDB vs Redis vs Tokyo Tyrant(原文链接:http://www.cnblogs.com/riceball/archive/2010/03/05/MongoDB_V ...

  5. [题解](次短路)luogu_P2865路障(未)

    好像是个不需要vis数组的次短路,跑到收敛,然而给我脑袋弄炸了......到现在还没懂.......究竟次短路应该怎么求a...... 抄题解: #include<bits/stdc++.h&g ...

  6. SOA思想

    参考:https://www.cnblogs.com/renzhitian/p/6853289.html 是什么 SOA service-oriented architecture 面向服务的体系结构 ...

  7. 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))

    OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...

  8. 如何解决netty发送消息截断问题

      在netty开发过程中我遇到过长的消息被分割成多个小消息的问题.如下图所示: 其实这两条消息应该是一条消息,它们两个才是一个完整的json字符串.查看代码原来是客户端与服务器端都没有考虑TCP粘包 ...

  9. JavaScript Allongé 第一呷 :基础函数 (1)

    第一呷 :基础函数 关于函数,尽管少,但毫不逊色. 在javascript中,函数是值,但它们不仅仅是简单的数值,字符串,或者甚至复杂的数据结构树或者地图.函数表示要执行的运算.就像数值.字符串和数组 ...

  10. IT兄弟连 JavaWeb教程 Servlet定义以及环境配置 BS程序和CS程序

    随着网络技术的不断发展,单机的软件程序已难以满足网络计算机的需求.为此,各种各样的网络程序开发体系结构应运而生.其中,运用最多的网络应用程序开发体系结构可以分为两种,一种是基于客户端/服务器的C/S结 ...