集合可以看作是一个容器,集合长度可变

  • 对于集合中的每一个对象都很容易被放到集合中,也很容易从集合中取出,也可以以一定的顺序排放。
  • 不同的集合类有不同的数据存储的方式,并且提供相应地方法对集合进行遍历、添加和修改以及查找指定的对象。

Collection接口

通过代码学习一下简单的集合的应用

     Collection<String>list=new ArrayList<>();list.add("aaaa");  //向几何中添加元素list.add("bbbb");list.add("cccc");java.util.Iterator<String> it=list.iterator(); //while(it.hasNext()){String str =(String)it.next();System.out.println(str);}

其中我们可以知道:

  • Collection接口是List和Set的“父类”,Map也是一种集合类
  • Collection接口的一些方法:
     list.add("cccc");//增添元素list.remove("aaaa");//移走元素System.out.println(list.isEmpty());//判断是否为空System.out.println(list.size());//获得集合大小java.util.Iterator<String> it=list.iterator();//迭代器,用于遍历集合中的对象,常用的方法有next()获得集合下一个对象,hasNext()判断是否有下一个对象

List集合

集合中元素允许重复,元素的顺序就是插入的顺序。

  • 两个重要的方法:get(int x)获得x位置的元素 set(int x,Object y)将x位置的对象变成y
  • list的两个实现类:ArrayList(访问快,插入删除慢)和LinkedList(访问慢,插入删除块)
  • 实现类的初始化:List<E(元素类型)>list=new ArrayList<>() List<E(元素类型)>list=new LinkedList<>()

Set集合

不排序,只把元素放在集合,不能有重复的元素

  • 两个实现类:HashSet和TreeSet
  • TreeSet的方法:first(),last():返回第一和最后一个元素
  • headSet(E):返回新的Set集合,新集合为E对象之前所有的对象
  • subSet(a,b):返回新的Set集合,新集合为a,b对象之间所有的对象
  • tailSet(E):返回新的Set集合,新集合为E对象之后所有的对象

Map集合

没有继承Collection接口,提供key和value的映射。不能包含相同的key,每个key对应一个value

     Map<String, String>map=new HashMap<>();map.put("001", "陈世豪");map.put("002", "记不得的桂纶镁");Set<String>set=map.keySet();java.util.Iterator<String> it=set.iterator();
  • map常用的方法如上面的代码所示,put(设置key和value),keyset()(获得map中的key装进set集合中),values()
  • map的实现类有HashMap和TreeMap(不允许元素为null)

JAVA学习日记每天进步一点点之集合类相关推荐

  1. Java学习日记1——基础认知

    Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...

  2. Java学习日记-Day01

    Java学习日记-Day01 Java语言概述 比特(byte)与字节 内存 Java基础知识图解 人机交互方式 常用的DOS命令 常用快捷键 计算机编程语言介绍 第一代语言 第二代语言 第三代语言 ...

  3. 尚学堂Java学习日记Day3

    尚学堂Java学习日记Day3 第三天老师先回顾了昨天的内容我从回顾中掌握了新的知识 如下图所示 int与double计算,输出类型为double的不同结果 会把int转成double类型的,这是隐式 ...

  4. Java学习日记:UI篇(6)--谢尔宾斯基地毯图

    Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...

  5. 【日记】Java学习日记(第63天)持续无聊更新

    前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...

  6. 尚学堂Java学习日记Day1

    尚学堂学习日记Day1 #今天开始写学习博客记录自己学习java的点滴成长历程,希望能成为学弟学妹们的前车之鉴. 先大概的自我介绍下,我原本从事的是网络工程师,学习的是Cisco(思科)并拥有CCNP ...

  7. Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片

    文件上传的工具类: 每次文件上传要写很多东西,把这些封装成一个工具类,以后用起来就会方便很多. 先创建一个类存储上传文件的信息: package com.upload; /*** 每上传成功一个文件的 ...

  8. 黑马程序员--Java学习日记之集合(collection类与list接口)及泛型概述

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,集合概念   之前我们存储大量的对象,可以使用数组:   但数组有两个缺陷:   1. ...

  9. 2019-06-03 Java学习日记 day24 多线程

    多线程 线程是程序执行的一台路径,一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率,可以同时完成多项工作 多线程的应用背景 红蜘蛛同时共享屏幕给多个电脑 迅雷开启多条线程一起下载 QQ同时 ...

最新文章

  1. QT代码格式化快捷键
  2. 从前到后的CAN总线(一)
  3. 暴力解决:InvocationException: GraphViz‘s executables not found
  4. 用ExtJs+Linq+Wcf打造简单grid
  5. linux增加虚拟内存
  6. mysql的安装包,可直接下载5.6.43
  7. python +appium实现原理_Appium工作原理
  8. 使用DAEMON Tools Ultra制作Ubuntu启动U盘全过程(含图文)
  9. 【IT生活】成长,没有想象的那么迫切 ——叶绍琛
  10. SecureCRT中文乱码解决方法
  11. 一张图读懂系列|量子三大特性之纠缠
  12. 跨省游开放首展,海峡旅博会和休闲旅博会将在厦门举行
  13. 计算机特定用户共享文件夹,局域网共享给特定用户、文件夹共享给指定用户访问方法...
  14. 如何练就超强的学习能力?这才是最好的答案
  15. 三年半经验,蚂蚁头条快手怎么选?网友:第一次看到头条比快手offer低的
  16. 微型计算机在情报检索中的应用属于什么领域,第1章-单选题
  17. xsy3320 string
  18. 金仓数据库KingbaseES SYS_BULKLOAD工具的使用
  19. 信道容量的迭代算法实现
  20. NLP-二分类的应用-区分外卖评论好评/差评

热门文章

  1. [新奇周边] 内置2400mAh电量 可以充电的手机壳上市【转载:今日头条】
  2. 适合婚礼唱的流行歌_流行的婚礼歌曲被重新想象成数据即纸杯蛋糕
  3. 转载:汶川大地震中业余无线电应急通讯发挥作用
  4. android手机电视互动,手机APP控制电视 长虹智能机多屏互动体验(组图)
  5. CSK与KCF算法推导(二)
  6. ai 如何导出html格式,Adobe Illustrator导出SVG的设置方法
  7. 没人谈论的 3 种从 ChatGPT 赚钱的方法,我测试过的建立被动收入流的行之有效的方法
  8. 如何选择适合你的兴趣爱好(六十六),折纸
  9. 数学问题(四)——素数
  10. html5作品展示的动效,HTML5 动效的常见制作方法