当前位置: 首页 > news >正文

Collection集合学习

import java.util.ArrayList;
import java.util.Collection;

/*
学习集合的目标:
1.会用集合存储数据
2.会遍历集合将数据取出来
3.掌握每种集合的特性
框架的学习方式:
1.学习顶层:学习顶层接口/抽象类中共性的方法,所有的子类都可以使用。
2.使用底层:底层不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。
* Collection 接口
* List集合:特点:1。有序的集合(存储和取出元素顺序相同)2.允许存储重复的元素3.有索引,可以使用普通的for循环遍历
* ArrayList
* LinkedList
* Vector
* Set集合:1.不允许存储重复的元素2.没有索引(不能用for循环遍历)
* HashSet 无序的集合(存储和取出元素的顺序有可能不一致)
* LinkedHashSet 有序的集合(存储和取出元素的顺序一致)
* TreeSet 无序的集合(存储和取出元素的顺序有可能不一致)
java.util.Collection接口
    所有单列集合的最顶层。里面定义了所有单列集合共性的方法
    任意的单列集合都可以使用collection接口中的方法


   共性的方法:
   -public boolean add(E e): 把给定的对象添加到当前集合中
   -public void clear(): 清空集合中所有的元素
   -public boolean remove(E e): 把给定的对象在当前集合中删除
   -public boolean contains(E e):判断当前集合中是否包含给定的对象
   -public boolean isEmpty():判断当前集合是否为空
   -public boolean size():返回集合中元素的个数
   -public Object[] toArray():把集合中的元素,存储到数组中。


* */
public class Demo04List {
    public static void main(String[] args) {
        // 使用多态,创建集合对象,Collection接口指向对应的实现类
        Collection<String> coll= new ArrayList<>();
        System.out.println(coll);//[] 说明重写tostring方法
        coll.add("张三");
        coll.add("李四");
        coll.add("王五");
        coll.add("李四");
        System.out.println(coll);
        coll.remove("李四");//如果有相同的元素,remove只会删除索引靠前的元素
        System.out.println(coll);
        boolean empty = coll.isEmpty();//判断这个列表是不是空的
        System.out.println(empty);// false
        int count = coll.size();
        System.out.println(count);
        boolean isIn = coll.contains("立四");
        if (isIn == false){
            System.out.println("不包含");
        //public Object[] toArray():把集合中的元素,存储到数组中。
            Object[] arr = coll.toArray();
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
        }
    }

}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Iterator迭代器的使用。
  • Java中泛型的概念及使用
  • 常见的数据结构
  • Collection中List的使用及注意事项
  • Collection下的set集合中的hashset方法使用
  • Meterphere安装及使用
  • Collection中set下的Hashset和LinkedHashSet的区别
  • 数据类型中的可变参数理解
  • intelliJ idea酷炫代码特效插件
  • Collections中的三个常用方法,addAll,sort,shuffle
  • Map遍历键值对案例练习
  • Hashtable
  • Map练习,统计输入字符串的个数
  • 斗地主综合案例有序版
  • Throwable中Exception/Error异常的分类及处理
  • [译]CSS 居中(Center)方法大合集
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Angular Elements 及其运作原理
  • C++类的相互关联
  • cookie和session
  • nodejs调试方法
  • QQ浏览器x5内核的兼容性问题
  • react 代码优化(一) ——事件处理
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Wamp集成环境 添加PHP的新版本
  • XML已死 ?
  • 汉诺塔算法
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 你真的知道 == 和 equals 的区别吗?
  • 前端js -- this指向总结。
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​iOS实时查看App运行日志
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #pragma data_seg 共享数据区(转)
  • #pragma预处理命令
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (二) 初入MySQL 【数据库管理】
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)SvelteKit教程:layout 文件
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四) 虚拟摄像头vivi体验
  • (已解决)什么是vue导航守卫
  • (自适应手机端)行业协会机构网站模板
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .Net IOC框架入门之一 Unity
  • .Net Winform开发笔记(一)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试