• JavaSE----Java 集合


    11.Java 集合

    1、集合

    • 集合是对象的容器,实现了对对象的常用操作,类似数组的功能。如果对象的存储个数不确定,那么就用集合容器来存储。集合都位于java.util.*包里。

    • 集合特点:

      • 用于存储对象的容器;
      • 集合的长度可以改变。
      • 集合不可以存储基本类型。
    • 集合和数组的区别:

      • 数组定义长度不可以改变,集合可以改变。
      • 数组可以存储基本类型和引用类型,集合只能存储引用类型。
    • 常用集合关系图:

    2、Collection 集合

    • 主要方法:

      • add():添加对象
      • addAll():将一个集合中的所有对象添加到此集合中
      • clear():清空集合对象
      • contains():检查对象是否在集合中
      • equals():比较此集合是否与指定对象相等
      • isEmpty():判断集合是否为空
      • remove():移除集合中的一个对象元素
      • size():查看集合元素个数
      • iterator():遍历集合
    • 案例:

      public static void main(String[] args) {
      
              System.out.println("---创建集合对象---");
              Collection collection = new ArrayList();
              System.out.println("---增加元素---");
              //集合只能存储引用类型,不能存储基本数据类型,这里自动装箱。
              collection.add(19);
              collection.add(12);
              collection.add(13);
              collection.add(15);
              System.out.println(collection);
              System.out.println("集合中元素的个数为:" + collection.size());
      
              //asList():将数组转换成集合
              List list = Arrays.asList(new Integer[]{34, 57, 18});
              System.out.println("---将list集合添加到collection中");
              collection.addAll(list);
              System.out.println(collection);
              System.out.println("集合中元素的个数为:" + collection.size());
              
              System.out.println("---遍历元素--");
              System.out.println("---增强for循环遍历---");
              for (Object o: collection) {
                  System.out.println(o);
              }
      
              System.out.println("---迭代器遍历---");
              /**
               * 迭代器:专门用来遍历集合的一种方式
               * hasNext():判断有没有下一个元素
               * next():获取元素,并下移
               */
              Iterator iterator = collection.iterator();
              while (iterator.hasNext()){
                  Object next = iterator.next();
                  System.out.println(next);
              }
      
              System.out.println("---比较集合---");
              System.out.println(collection.equals(list));
      
              System.out.println("---判断---");
              System.out.println(collection.contains(15));
              System.out.println(collection.contains(40));
              System.out.println(collection.isEmpty());
      
              System.out.println("---删除元素---");
              collection.remove(12);
              System.out.println(collection);
              System.out.println("集合中元素的个数为:" + collection.size());
      
              System.out.println("---清空元素---");
              collection.clear();
              System.out.println(collection);
              System.out.println("集合中元素的个数为:" + collection.size());
              System.out.println(collection.isEmpty());
      
          }
      

    1、List 接口

    • List特点:有序、有下标、元素可以重复。
    • 方法:
      • add(index,Object o):在index位置插入对象o
      • boolean addAll(int index,Collection c):将一个集合中的元素添加到此集合中的index位置
      • Object get(int index):返回集合中指定位置的元素
      • List subList(int fromIndex, int toIndex):返回formIndex和toIndex之间的集合元素
    1、ArrayList
    • 特点:
    2、LinkedList
    • 特点:

    • ArrayList和LinkedList的区别?

      • ArrayList和LinkedList都是List的实现类,有序、有下表,元素可以重复。
      • ArrayList使用动态数组来存储元素,LinkedList使用双向链接来存储元素
      • ArrayList必须开辟连续空间,查询快,增删慢。
      • LinkedList无需开辟连续空间,查询慢,增删快。

    2、Set 接口

    1、HashSet
    2、TreeSet

    3、Map集合

    4、Collections 工具类

  • 相关阅读:
    【荐】说说CSS Hack 和向后兼容
    【阮一峰】深入研究URL编码问题及JavaScript相应的解决方案
    什么是H标签?H1,H2,H3标签?以及和strong标签使用的方法及重要性
    实用框架(iframe)代码
    数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,
    BZOJ 3110 ZJOI 2013 K大数查询 树套树(权值线段树套区间线段树)
    c++中基本的语法问题
    RIP协议两个版本号对不连续子网的支持情况实验
    getChars的使用方法
    ios8中百度推送接收不到
  • 原文地址:https://www.cnblogs.com/zhangliuping/p/15335480.html
Copyright © 2020-2023  润新知