##Collection集合

1、Collection集合是单列集合

2、Collection是所有单列集合最顶层的接口,定义了所有单列集合的共性方法

  1. 任意的单列集合都可以使用Collection接口中的方法
    * 1public boolean add(E e);把指定对象添加到当前集合中。
    * 2public void clear();移除此 collection 中的所有元素(可选操作)。
    * 3public boolean remove(E e);把给定对象在集合中删除。
    * 4public boolean contains(E e);看指定元素是否包含在集合中。
    * 5public boolean isEmpty(E e);看集合中元素是否为空。
    * 6public int size();返回集合中元素的个数。
    * 7public Object[] toArray();返回包含此 collection 中所有元素的数组。
  2.  
  3. 代码示例:
  1. package Collection.CommonMethod.demo01;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collection;
  5.  
  6. /*
  7. * java.util.Collection接口
  8. * 所有单列集合最顶层的接口,里面定义了所有单列集合的共性方法
  9. * 任意的单列集合都可以使用Collection接口中的方法
  10. * 1、public boolean add(E e);把指定对象添加到当前集合中。
  11. * 2、public void clear();移除此 collection 中的所有元素(可选操作)。
  12. * 3、public boolean remove(E e);把给定对象在集合中删除。
  13. * 4、public boolean contains(E e);看指定元素是否包含在集合中。
  14. * 5、public boolean isEmpty(E e);看集合中元素是否为空。
  15. * 6、public int size();返回集合中元素的个数。
  16. * 7、public Object[] toArray();返回包含此 collection 中所有元素的数组。
  17. *
  18. * */
  19. public class Demo01Collection {
  20. public static void main(String[] args) {
  21. //可以用多态创建集合
  22. Collection<String> coll = new ArrayList<>();
  23. /*public boolean add(E e);把指定对象添加到当前集合中。
  24. 返回值是一个bollean值,一般都返回true,所以不用接收
  25. */
  26. boolean b1 = coll.add("ftj");
  27. coll.add("lxy");
  28. System.out.println(b1);
  29. System.out.println(coll);
  30. /*public boolean remove(E e);把给定对象在集合中删除。
  31. 返回值是一个bollean值,如果集合中存在元素,删除元素,则返回true;反之,false。
  32. */
  33. boolean b2 = coll.remove("ftj");
  34. System.out.println(b2);
  35. System.out.println(coll);
  36. /*public boolean contains(E e);看指定元素是否包含在集合中。
  37. 返回值是一个bollean值,如果集合中存在元素,则返回true,否则,返回false。
  38. */
  39. boolean b3 = coll.contains("lxy");
  40. System.out.println(b3);
  41. }
  42. }

3、Iterator迭代器:用来遍历集合

  1. 1Iterator是一个接口,我们无法直接使用,需要获取实现类的对象,但是他获取对象的方式比特殊
    2Collection接口中有一个方法,叫iterator(),它返回的就是迭代器的实现类对象 Iterator<E> iterator();
  1. 迭代器的使用步骤(重点):
    * 1、使用集合中的方法iterator(),获取迭代器的实现类对象,使用Iterator接口接收(多态)
    * 2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
    * 3、使用Iterator接口中的方法next取出集合中的下一个元素
  1. 代码示例:
  1. public class Demo01Iterator {
  2. public static void main(String[] args) {
  3. Collection<String> coll = new Vector<>();
  4. coll.add("姚明");
  5. coll.add("詹姆斯");
  6. coll.add("科比");
  7. coll.add("麦迪");
  8. Iterator<String> it = coll.iterator();
  9.  
  10. System.out.println("迭代器:"+it);
  11. /*boolean b1 = it.hasNext();
  12. System.out.println(b1);
  13. String next1 = it.next();
  14. System.out.println(next1);
  15.  
  16. boolean b2 = it.hasNext();
  17. System.out.println(b2);
  18. String next2 = it.next();
  19. System.out.println(next2);
  20.  
  21. boolean b3 = it.hasNext();
  22. System.out.println(b3);*/
  23.  
  24. //这样的代码重复多余,可以使用while循环来做,因为循环的个数是不确定滴
  25.  
  26. while (it.hasNext()){
  27. String e = it.next();
  28. System.out.println(e);
  29. }
  30.  
  31. //用for循环也能做
  32. for (Iterator<String> it2 = coll.iterator(); it2.hasNext();){
  33. String e2 = it2.next();
  34. System.out.println(e2);
  35. }
  36. }
  37. }
  1. 迭代器工作原理:

4、for Each

  1. 增强for循环:底层也是使用迭代器,使用for循环的格式,简化迭代器的书写。他是JDK1.5之后的新特性
  1. * public interface Iterable<T>实现这个接口允许对象成为 "foreach" 语句的目标。
    * 所有单列集合都可以使用增强for
  2. * 作用:用来遍历集合和数组
    * 格式:
    * for(集合/数组的数据类型 变量名: 集合名/数组名){
    * sout(变量名);
    * }
  1. 代码示例:
  1. package Collection.CommonMethod.demo03;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. /**
  6. * 增强for循环:底层也是使用迭代器,使用for循环的格式,简化迭代器的书写
  7. * JDK1.5之后的新特性
  8. * public interface Iterable<T>实现这个接口允许对象成为 "foreach" 语句的目标。
  9. * 所有单列集合都可以使用增强for
  10. *
  11. * 作用:用来遍历集合和数组
  12. * 格式:
  13. * for(集合/数组的数据类型 变量名: 集合名/数组名){
  14. * sout(变量名);
  15. * }
  16. */
  17. public class Demo01forEach {
  18. public static void main(String[] args) {
  19. demo02();
  20. }
  21. //使用增强for循环遍历集合
  22. private static void demo02() {
  23. ArrayList<String> list = new ArrayList<>();
  24. list.add("姚明");
  25. list.add("易建联");
  26. for (String s : list) {
  27. System.out.println(s);
  28. }
  29. }
  30.  
  31. //使用增强for循环遍历数组
  32. private static void demo01() {
  33. int[] arr = {1,2,3,4,5};
  34. for (int i : arr) {
  35. System.out.println(i);
  36. }
  37. }
  38. }
  1.  
  1.  
  1.  

Java——Collection集合的更多相关文章

  1. ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢

    <!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...

  2. JAVA collection集合之 扑克牌游戏

    主要内容:这里使用collection集合,模拟香港电影中大佬们玩的扑克牌游戏. 1.游戏规则:两个玩家每人手中发两张牌,进行比较.比较每个玩家手中牌最大的点数,大小由A-2,点数大者获胜.如果点数相 ...

  3. Java Collection集合方法

    一.简单方法 package cn.itcast.day15; import java.util.ArrayList; import java.util.Arrays; import java.uti ...

  4. Java Collection集合中的iterator方法

    Iterator接口的概述 /** * java.util.Iterator接口:选代器(对集合进行遍历) * 有两个常用的方法 * boolean hasNext() * 如果仍有元素可以迭代,则返 ...

  5. Java Collection集合概述及其常用方法

    Collection集合概述 Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合 与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的 ...

  6. Java——Collection集合、迭代器、泛型

    集合 ——集合就是java提供的一种容器,可以用来存储多个数据. 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. 集合存储的都是对象 ...

  7. java collection集合

    集合:用于存储对象的容器.集合中可以存储任意类型的对象,长度可变. 集合和数组的比较 集合和数组都是存储对象的容器,不同的是,数组可以存储基本数据类型(int.short.long.char.Bool ...

  8. Java Collection集合接口

    Collection接口是赖以集合框架建立的基础.它声明的所有集合的核心方法.这些方法概括于下表中. 因为所有集合都要实现Collection,熟悉它的方法是对框架有清晰的认识很有必要.这几种方法都可 ...

  9. Java Collection开发技巧

    Java Collection(集合) 集合中的一些技巧: 通过Collections类的静态方法,可以对集合进行一些操作 1 java.util.List<Integer> number ...

随机推荐

  1. 改了改之前那个很糙的XXX

    将就着用X度去爬吧 <?php echo "***************************************\r\n"; echo "* SubDom ...

  2. 生鲜电商的两极战:巨头VS地头

    ​ ​ "九月蟹黄满,十月蟹肉香",螃蟹年年相似,总是美味无边,但购买渠道却随着互联网普及而变得愈发多样起来.此前,大闸蟹礼券风靡就是最佳代表之一.虽然也引发诸多问题,但消费者也越 ...

  3. python爬虫之数据加密解密

    一.什么叫数据加密 数据加密是指利用加密算法和秘钥将明文转变为密文的过程. 二.数据加密的方式 1.单向加密 指只能加密数据而不能解密数据,这种加密方式主要是为了保证数据的完整性,常见的加密算法有MD ...

  4. 配置VSCode的C/C++语言功能

    0. 前言 主要是在网上找的方法都没试成功过,在各种机缘巧合下终于成功了. 这篇文章基于个人经验,而且没有走寻常路. 1. 需要的软件和插件 软件: VSCode (https://code.visu ...

  5. CSS中"position:relative"属性与文档流的关系

    前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:& ...

  6. getUserMedia API及HTML5 调用手机摄像头拍照

    getUserMedia API简介 HTML5的getUserMedia API为用户提供访问硬件设备媒体(摄像头.视频.音频.地理位置等)的接口,基于该接口,开发者可以在不依赖任何浏览器插件的条件 ...

  7. 解决vue2.0下IE浏览器白屏问题

    公司新开发的项目需要兼容到IE9+ 就在index.html页面加入 <meta http-equiv="X-UA-Compatible" content="IE= ...

  8. web页面上展示图片时,图片不显示,报错:ERR_CONTENT_LENGTH_MISMATCH

      问题描述 前端页面加载css,和js文件的时候,经常出现ERR_CONTENT_LENGTH_MISMATCH的报错情况.   查找问题 在单独打开hearder中css,js的网络地址是能打开的 ...

  9. Xml反序列化记录

    1.概述 公司项目遇到一个需要对接webservice的,webservice大部分用的都是xml来传输的,这里记录一下xml反序列化遇到的问题 2.xml工具类 xml序列化: public sta ...

  10. Navicat for MySQL12破解

    本文摘抄自:https://blog.csdn.net/zhangli0910/article/details/83785147,https://blog.csdn.net/mmake1994/art ...