存储阵列名称而不重复

时间:2019-03-06 06:14:34

标签: java arrays

3 个答案:

答案 0 :(得分:0)

在代码中将arrayPosition变量初始化为0,然后尝试

私有静态int arrayPosition = 0;

答案 1 :(得分:0)

由于您尚未提供要使用的语言,因此这里提供了一种快速算法,可以用任何语言实现该解决方案:


  1. 声明并初始化数组(或在已有数组的情况下跳过它)
  2. 遍历数组并比较新值是否匹配数组中的任何元素。
  3. 如果匹配,请打破循环
  4. 如果不匹配,请将新元素附加到数组。

答案 2 :(得分:0)

在向数组添加新值时,必须考虑其扩展。有不同的方法。这虽然很简单,但很简单:

private static String[] names = new String[0];

public static void main(String[] args) {
    add("Sam");
    add("Phill");
    add("Phill");
    add("Johny");
    for (String name : names) {
        System.out.println("name = " + name);
    }
}

public static void add(String newName) {
    for (String pesentName : names) {
        if (pesentName.equals(newName)) {
            return;
        }
    }
    String[] moreNames = new String[names.length + 1];
    System.arraycopy(names, 0, moreNames, 0, names.length);
    moreNames[moreNames.length - 1] = newName;
    names = moreNames;
}

您可以继续使用数组,但是也许您不必拒绝将集合用作工具。在这种情况下,搜索部分会更短

if (Arrays.asList(names).contains(newName)) {
        return;
    }