首页 > 其他分享 >Collection接口和常用方法

Collection接口和常用方法

时间:2024-07-05 16:32:53浏览次数:23  
标签:常用 iterator list System 接口 Collection println public out

Collection接口实现类的特点

public interface Collection<E> extends Iterable<E>

  1. collection实现子类可以存放多个子元素,每个元素可以是Object
  2. 有些Collection的实现类,可以存放时能够重复的元素,有些不行
  3. 有些Collection的实现类是有序的(List),有些不是(Set)
  4. Collection接口没有直接的实现子类,是通过子类接口的Set和List实现的
import java.util.ArrayList;
import java.util.List;
public class CollectionMethod {
   @SuppressWarnings({"all"})
   public static void main(String[] args) {
      List list = new ArrayList();
      //add添加单个元素
      list.add("rick");
      list.add(55);  //等价于 list.add(new Integer(55))
      list.add(true);
      System.out.println(list);
      // remove删除元素
      list.remove(0);   // 删除索引为0的元素
      list.remove(true);   // 删除指定元素
      System.out.println("删除后"+list);
      System.out.println(list.contains(55)); // 查找元素是否存在
      System.out.println(list.size()); // 获取元素个数
      System.out.println(list.isEmpty()); // 判断集合是否为空
      list.clear(); // 清空集合
      System.out.println(list);
      ArrayList arrayList2 = new ArrayList();
      arrayList2.add("jpg");
      arrayList2.add("png");
      list.addAll(arrayList2);
      System.out.println(list);
      System.out.println(list.containsAll(arrayList2));  // 判断多个元素是否存在
      list.add("jpeg");
      list.removeAll(arrayList2);
      System.out.println(list);
   }
}

Collection接口遍历元素方式一、使用Interator(迭代器)

  1. Iterator对象被称为迭代器,主要用于遍历Collection集合中的元素。
  2. 所有实现了Collection接口类都有一个iterator()方法,用于返回一个实现了Interator接口的对象,即可以返回一个迭代器
  3. 参考Iterator的结构图
  4. Iterator仅用于遍历集合,本身并不存放对象。

迭代器的执行原理

Interator interator=coll.iterator();得到一个集合的迭代器

hasNext();判断是否还有下一个对象

while(iterator.hasNext()){next();/*作用:1.向下移动2.把下移后的几何位置上的元素返回*/System.out.println(iterator.next());}

注意:在调用Iterator.next()方法之前必须要调用Iterator.hasNext()进行检测。否则下条记录无效,直接调用iterator.next()会抛出异常

 

集合增强for
public class CollectionInterator {
   @SuppressWarnings({"all"})
   public static <Interator> void main(String[] args) {
      Collection collection = new ArrayList();
      collection.add(new Person("rick","ranker",54));
      collection.add(new Person("jack","general",87));
      collection.add(new Person("gelnn","ranker",36));
      System.out.println(collection);
      // 遍历collection集合
      //1.获取collection对应的迭代器
      Iterator iterator = collection.iterator();
      //2.使用while循环遍历
      while (iterator.hasNext()){   // 判断是否还有下一个对象
         // 返回下一个元素(类型Object)
         Object obj=iterator.next();
         System.out.println(obj);
      }
      //3.退出while循环后,Iterator迭代器只想最后一个元素
      //4.需要再次遍历则需要重置迭代器
      iterator=collection.iterator();  //重置
      // 使用增强for循环
      System.out.println("使用增强for循环实现:");
      // 增强for,底层依旧是迭代器,可以简单理解为:增强for是简易版的迭代器遍历
      for (Object person:collection){
         System.out.println(person);
      }
      // 增强for,也可以在数组使用

   }
}
class Person{
   private String name;
   private String rank;
   private int age;

   public Person(String name, String rank, int age) {
      this.name = name;
      this.rank = rank;
      this.age = age;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getRank() {
      return rank;
   }

   public void setRank(String rank) {
      this.rank = rank;
   }

   public int getAge() {
      return age;
   }

   public void setAge(int age) {
      this.age = age;
   }

   @Override
   public String toString() {
      return "Person{" +
              "name='" + name + '\'' +
              ", rank='" + rank + '\'' +
              ", age=" + age +
              '}';
   }
}

 

标签:常用,iterator,list,System,接口,Collection,println,public,out
From: https://www.cnblogs.com/vayenge/p/18199576

相关文章

  • 常用类
    包装类Wrapper针对八种基本数据类型相应的引用类型——包装类有了类的特点,可以调用类的方法基本数据类型包装类booleanBoobleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble注:Object是所有类的父类,关......
  • Camunda流程引擎常用API接口介绍
    本文介绍Camunda7(Camunda7.19.0版本)流程引擎常用API接口,让大家了解Camunda常用的API接口有哪些(包括有:RepositoryService、RuntimeService、TaskService、HistoryService等),项目中如何调用JavaAPI和RESTAPI,尤其是查询API接口,Camunda提供了多种查询方式(包括有:JavaQueryAPI、RES......
  • 干货丨渗透测试常用方法总结,大神之笔!_数据库渗透测试
    一、渗透流程信息收集漏洞验证/漏洞攻击提权,权限维持日志清理信息收集一般先运行端口扫描和漏洞扫描获取可以利用的漏洞。多利用搜索引擎端口扫描有授权的情况下直接使用nmap、masscan、自己写py脚本等端口扫描工具直接获取开放的端口和获取服务端的banner......
  • 开发常用语句
    sql注入问题优化,orderby里面不能用下面这种方式,为了防止sql注入,验证输入的值是否合法,比如只能包含英文,数字和下划线应以英文开头Map<String,Object>parameters=newHashMap<>();sql.append("where(lzbhlike:keywordorlzmclike:keyword)");parameters.put("keyw......
  • 短网址生成API接口,短链生成 W外链API接口
    1、提供的接口W外链提供接口如下:获取短链分组创建短链分组获取分组下的短链列表生成短链编辑短链删除短链2、签名简介使用前请了解如下事项:API 的签名主要是用于获取身份令牌 AccessToken 时所需必要认证参数在请求需要复杂认证接口的时候,系统会验证 AccessToken......
  • 三菱PLC内部常用的特殊辅助继电器总结
    辅助继电器是plc中数量最多的一种继电器,一般的辅助继电器与继电器控制系统中的中间继电器相似。辅助继电器不能直接驱动外部负载,负载只能由输出继电器的外部触点驱动。辅助继电器的常开与常闭触点在PLC内部编程时可无限次使用。辅助继电器采用M与十进制数共同组成编......
  • mongodb常用语句
    mongodb常用语句1.数据库操作1.1创建数据库创建数据库(如果数据库存在则创建,否则则进入该数据库)useblog注:创建数据库后,表中并不会出现在数据库列表中,需要添加数据后,才会出现在数据库列表中1.2修改数据库修改数据库的名称方法1,拷贝当前数据库,再删除旧数据......
  • VBA常用的字符串内置函数
    前言在VBA程序中,常用的内置函数可以按照功能分为字符串函数、数字函数、转换函数等等,本节主要会介绍常用的字符串的内置函数,包括Len()、Left()、Mid()、Right()、Split()、String()、StrConV()等。本节的练习数据表以下表为例:1.使用Len()计算字符串长度示例:Sheet1的A......
  • SQL Server 中的 DBCC(Database Console Commands)命令提供了一系列用于数据库管理和诊
    SQLServer中的DBCC(DatabaseConsoleCommands)命令提供了一系列用于数据库管理和诊断的工具和功能。以下是一些常用的DBCC命令及其功能:DBCCCHECKDB:用于检查整个数据库的物理和逻辑一致性。sqlCopyCodeDBCCCHECKDB('MyDatabase');DBCCCHECKTABLE:检查指定表......
  • 常用正则表达式
    字符\:特殊字符、转义字符^:正则表达式的开始$:正则表达式的结束*:等于{0,},即0到多+:等于{1,},即1到多?:等于{0,1},即0到1{n}:匹配确定的次数,n次{n,}:匹配大于n的次数,等于n*{n,m}:匹配大于n,小于m的次数.:匹配除“\n”之外的任何单个字符。\d:匹......