数组操作函数 | AnyLogic 帮助文档

数组

AnyLogic 提供了一系列函数,用于操作 Java 数组(存储原始类型值:int[]、double[] 或某些 Java 类的实例:Object[])。

函数描述
boolean arrayContains(double[] array, double value)如果数组包含给定值,则返回 true。
array — 要扫描的数组
value — 要搜索的值
boolean arrayContains(int[] array, int value)如果数组包含给定值,则返回 true。
array — 要扫描的数组
value — 要搜索的值
boolean arrayContains(Object[] array, Object object)如果数组包含给定对象,则返回 true。对象使用 .equals() 函数进行比较。支持任何对象类型的数组。例如,以下代码将打印出 ‘true’:String[] s = new String[]{"a", "b", "c"};traceln(contains(s, "b"));
array — 要扫描的数组
object — 要搜索的对象
int indexOf(double[] array, double value)返回给定值在数组中首次出现的索引。如果未找到值或传递的数组为 null 或空,则返回 -1。
array — 要扫描的数组
value — 要搜索的值
int indexOf(int[] array, int value)返回给定值在数组中首次出现的索引。如果未找到值或传递的数组为 null 或空,则返回 -1。
array — 要扫描的数组
value — 要搜索的值
int indexOf(Object[] array, Object object)返回给定对象在数组中首次出现的索引。对象使用 .equals() 函数进行比较。如果未找到值或传递的数组为 null 或空,则返回 -1。支持任何对象类型的数组。例如,以下代码将打印出 ‘1’:
String[] s = new String[]{"a", "b", "c"};traceln(indexOf(s, "b"));<br>
array — 要扫描的数组
object — 要搜索的对象,可以为 null — 在这种情况下,函数将尝试在给定数组中找到 null 的索引
int indexOf(int[] array, IntPredicate test)返回数组中匹配值的第一个出现位置的索引。如果没有找到匹配值或传递的数组为 null 或空,则返回 -1。
array — 要扫描的数组
test — 测试表达式,例如 v -> v > 10
int indexOf(double[] array, DoublePredicate test)返回数组中匹配值的第一个出现位置的索引。如果没有找到匹配值或传递的数组为 null 或空,则返回 -1。
array — 要扫描的数组
test — 测试表达式,例如 v -> v > 10
int indexOf(T[] array, Predicate<? super T> test)返回数组中匹配对象的第一个出现位置的索引。如果没有找到值或传递的数组为 null 或空,则返回 -1。支持任何对象类型的数组。例如,以下代码将打印出 ‘1’:
String[] s = new String[]{"a", "ab", "abc"};traceln(indexOf(s, s -> s.length() > 1));
array — 要扫描的数组
test — 测试表达式。如果传递了 null 而不是predicate,函数将尝试在给定数组中找到 null 的索引
int indexOfMax(double[] array)返回给定数组中最大值的索引。
array — 要扫描的数组
int indexOfMax(int[] array)返回给定数组中最大值的索引。
array — 要扫描的数组
int indexOfMin(double[] array)返回给定数组中最小值的索引。
array — 要扫描的数组
int indexOfMin(int[] array)返回给定数组中最小值的索引。
array — 要扫描的数组
double max(double[] array)返回给定数组中的最大值。如果数组只包含 Double.NaN 值,则返回 Double.NaN。如果传递的数组为 null 或空,则抛出错误。
array — 要扫描的数组
int max(int[] array)返回给定数组中的最大值。如果传递的数组为 null 或空,则抛出错误。
array — 要扫描的数组
double min(double[] array)返回给定数组中的最小值。如果数组只包含 Double.NaN 值,则返回 Double.NaN。如果传递的数组为 null 或空,则抛出错误。
array — 要扫描的数组
int min(int[] array)返回给定数组中的最小值。如果传递的数组为 null 或空,则抛出错误。
array — 要扫描的数组

如何创建可变长度的数组(用于不确定的列表框)

  1. 使用ArrayList
    ArrayList是Java集合框架的一部分,它提供了动态数组的功能。你可以根据需要添加或删除元素,而不需要担心数组的长度。
import java.util.ArrayList;  
import java.util.List;  
  
public class Main {  
    public static void main(String[] args) {  
        List<String> list = new ArrayList<>();  
          
        // 添加元素  
        list.add("Hello");  
        list.add("World");  
          
        // 假设你不再需要动态长度,可以转换为String[]  
        String[] array = list.toArray(new String[0]);  
          
        // 打印数组内容  
        for (String str : array) {  
            System.out.println(str);  
        }  
    }  
}

  1. 使用Arrays.copyOf()动态调整数组大小
    如果你确实需要使用数组(而不是ArrayList),并且需要在运行时调整其大小,你可以使用Arrays.copyOf()方法。但请注意,这种方法实际上是在创建一个新的数组,并将旧数组的内容复制到新数组中。
import java.util.Arrays;  
  
public class Main {  
    public static void main(String[] args) {  
        String[] array = new String[2]; // 初始长度为2  
        array[0] = "Hello";  
        array[1] = "World";  
          
        // 假设需要增加数组长度  
        array = Arrays.copyOf(array, array.length + 1); // 创建一个新数组,长度为3  
          
        // 现在可以安全地添加第三个元素  
        array[2] = "Java";  
          
        // 打印数组内容  
        for (String str : array) {  
            System.out.println(str);  
        }  
    }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值