一. List集合:  一次只存储一个元素

1.常用的list集合是ArrayList

(1)在创建这个集合的对象时, 需要指定这个集合存储的数据类型! 否则这个集合的数据是不安全的。

(2)与数组的区别:

①数组的长度是固定的, 集合的长度是可变的。

②数组可以存储基本类型和引用数据类型的数据.集合不可以存储基本数据类型, 只能存储引用数据类型。

2.基本数据类型的包装类

(1)byte     --->  Byte

(2)short       --->  Short

(3)int          --->  Integer

(4)long        --->   Long

(5)float       --->   Float

(6)double --->  Double

(7)char        ---> Character

(8)boolean --->  Boolean

3.如果集合中需要存储基本类型的数据, 集合的类型必须指定为对应的包装类型。

4.list集合中的常用方法   (E:element元素)

(1)add(E): 往集合中添加一个元素

(2)add(index,E): 把元素添加到指定的位置, 原来的内元素会被挤到后面

(3)get(index): 通过索引获取集合中对应的元素

(4)size(): 获取集合的大小、集合中元素个数

(5)remove(index): 删除指定索引的元素, 返回被删除的元素

(6)remove(Object): 删除集合中的指定对象, 如果有多个相同的对象, 只会删除第一个.

(7)contains(E): 判断集合中是否包含指定的元素

(8)indexOf(E): 获取元素在集合中第一次出现的索引

(9)lastIndexOf(E): 获取元素在集合中最后一次出现的索引

(10)isEmpty(): 判断集合中的元素是否为空

(11)set(index,E): 把指定索引位置的元素覆盖, 返回的是被修改的元素

(12)clear(): 清空集合中的所有元素

(13)toArray(): 把集合转换成Object数组,注意不能转换成其他数组!

5.包装类型与基本类型

(1)包装类型对象的创建: 例如: Integer i= new Integer(10);  Integer i = newInteger(“100”)

(2)将基本数据类型的数据直接赋值给包装类型: Integer i = 10;

(3)基本类型和包装类型可以直接互相转换。

6.把一个字符串整数转换成整数类型的方式:

(1)通过Integer的构造方法转换: Integer i = new Integer(“100”)

(2)通过Integer的静态方法parseInt来转换

(3)通过Integer的静态方法valueOf来转换

7.总结:

(1)基本上, 所有的包装类型都有把字符串内容转换成对应基本数据类型的方式

①例如, 使用Integer类把一个字符串”100”转换成整数100

②使用Boolean类把一个字符串”true”转换成boolean类型的true

③.....

(2)有一个包装类型是没有把字符串转换成它对应的基本数据类型的方式: Character

二. Map集合: 一次是存储两个元素

1.     常用的Map集合是HashMap

2.     Map集合就是可以任意指定索引数据类型的集合, 数组和list集合是固定使用int类型作为索引的容器

3.     Map集合的特点:

(1)      map集合一次要存储两个元素, 第一个是key(键-索引), 第二个内容是value(值)

(2)      map集合的键是不能重复, 如果多次往同一个索引存储元素, 以最后一次存储为准, 后面存储的内容会把前面存储的内容覆盖

(3)      map集合中的值是可以重复的

4.    常用方法:

(1)      put(key,value): 把键和对应的值存储到集合中

(2)      get(key): 根据键取对应的值

(3)      isEmpty(): 判断集合是否为空

(4)      clear(): 清空集合中的所有元素

(5)      containsKey(key): 判断集合中是否包含指定的键

(6)      containsValue(value): 判断集合中是否包含指定的值

(7)      remove(Object key): 根据键删除键和对应的值

(8)      size(): 获取集合中的元素个数

(9)      keySet(): 获取到map集合中的所有键, 装到一个Set集合中, 遍历这个集合可以得到每一个键

(10)   entrySet(): 把集合中的key和value封装成Entry对象并存储到一个Set集合中,返回该集合

(11)   values(): 把集合中所有value存储到一个Collection集合中并返回

5.    Set集合

(1)      Set集合特点:

①     一次只存一个元素,

②     不能存储重复的元素

③     存储顺序和取出来的顺序不一定一致

(2)      常用的set集合是HashSet

(3)      常用方法在list中都有,方法比list少, 少的是与索引相关的方法,因为Set集合没有索引。
---------------------

原文:https://blog.csdn.net/Kfie66/article/details/79065100

java中集合的更多相关文章

  1. Java中集合List,Map和Set的区别

    Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Ke ...

  2. java中集合Collection转list对象

    参考:java中集合Collection转list对象 首先我的需求是获取到购物车列表,购物车列表是一个Map对象,构造方法获取购物项,这里购物项是Collection对象 // 购物项集合,K商品I ...

  3. JAVA中集合转数组遍历

    JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {     ...

  4. Java中集合List,Map和Set的差别

    Java中集合List,Map和Set的差别 1.List和Set的父接口是Collection.而Map不是 2.List中的元素是有序的,能够反复的 3.Map是Key-Value映射关系,且Ke ...

  5. Java中集合的概述

    一.集合和数组的区别 1.数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 2.集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数 ...

  6. Scala中集合类型与java中集合类型转换

    对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换. 1. 转换规则如下 从下面可以看出,有些可以相互转换的,有些只能单向转换: scala.collection.Iterab ...

  7. Java中集合关键字的区别

    1. ArrayList.Vector和Stack有什么区别? 1.ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现(简:API基本一样) ​   2.Stack继承了Vec ...

  8. Java中集合概念

    集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行储存,而想要储存多个对象,就不能是一个基本的变量,而应该是一个 ...

  9. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...

  10. java中集合的扩容

    对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式: 1.对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数 ...

随机推荐

  1. 基础 ByteBuffer 和 ByteBuf

    缓冲区 ByteBuffer buffer = ByteBuffer.allocate(); ByteBuf https://www.jianshu.com/p/3fbf54b8e8ec

  2. TCP/IP知识总结(TCP/IP协议族读书笔记一)

    一.简述TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/互联网互联协议,又名网络通信协议.是Internet最基 ...

  3. eclipse中项目出现红色的!

    eclipse中项目出现红色的!的原因有二个:1.jdk不匹配    2.缺少jar包

  4. jsp的静态导入

    <body> <!-- include 包括 包含 页面相互引用 静态引入 把多工文件 合并为一个文件 然后在编译 不要有重复的变量 --> <h1>this is ...

  5. ProjectLeader感悟

    1 首先项目的目标清晰明确,开发的方案也必须清晰明确. 确保两点的做法,是面对面的访谈,很简单的可以打电话或者QQ或者邮件:方案要多次揣摩,设计出合理的方案.如果发以上两点做不好,你就会受到组员的鄙视 ...

  6. learning.py报错

    在廖雪峰大神的网站下学习了Python,其中有一个提供互动环境的Python脚本--learning.py,报了个错,看了下源文件的代码,安排了一下. 报错信息: This learning.py i ...

  7. R学习笔记-安装R和RStudio,注意RStudio的版本需要与操作系统版本匹配

    1.安装步骤:先安装R,再安装RStudio RStudio是R的集成开发工具,本身不带R环境. 2.从当前R的官网和RStudio下载的R和RStudio的版本分别为: A .For Windows ...

  8. 利率计算v4.0--测试--软件工程

    利率计算v4.0--测试 package Test; import Model.Interest; import Service.CompoundInterestService; import Ser ...

  9. 解决 Laravel try catch 不工作的问题

    最近再用laravel框架发现,try catch用了没有效果,不能捕获异常, 然后在think框架里也试了一下,发现竟然也不可以! [php] view plain copy try{  $i = ...

  10. 饮品类App原型制作分享-WineRatingsPlus

    WineRatingsPlus是一款关于红酒的App应用.它帮助你在用餐.聚会或任何场合选择葡萄酒时,都能方便的得到专家意见.同时,它也能帮助鉴赏家和感兴趣的人对葡萄酒更多的了解和选择. 在这款Moc ...