将数组值压缩到另一个数组中

时间:2015-12-14 23:37:53

标签: java arrays

我遇到了一个名为compress的问题。目标是获取一个数组,删除任何重复的值并返回一个新数组。

我知道这对于ArrayList来说会很容易,但我想在没有它的情况下这样做。

到目前为止,我刚刚编写了一个循环来确定唯一值的数量,因此我可以构造一个适当长度的新数组。那么我怎样才能将唯一值放入新数组中?

public static int[] compress(int[] array){
    int length = 0;
    boolean contains = false;
    for (int i = 0; i < array.length; i++){
        contains = false;
        for (int j = 0; j < i; j++){
            if (a[i] == a[j]){
                contains = true;
                j = i;
            } else {
                contains = false;
             }
        }
        if (!contains){
            length++;
        }
    }

    int[] uniqueArray = new int[length];        
}

1 个答案:

答案 0 :(得分:0)

没有经过测试,但我认为这应该可以解决问题。

/**
 * Date/Time of the last activity
 *
 * @ORM\Column(name="last_activity_at", type="datetime", nullable=true)
 */
protected $last_activity_at = null;

/**
 * @param datetime $lastActivityAt
 */
public function setLastActivityAt($lastActivityAt)
{
    $this->last_activity_at = $lastActivityAt;
}

/**
 * @return datetime
 */
public function getLastActivityAt()
{
    return $this->last_activity_at;
}