Я работаю через назначение класса, и я не уверен, как удалить элемент из массива. Я прочитал предложения по использованию ArrayUtils или преобразованию массива в связанный список. Я все еще очень новичок в Java, поэтому я не уверен, что мне действительно нужно что-то делать, или если я упускаю из виду нечто гораздо более простое. Мне также необходимо выполнить несколько процессов, требующих пропускать все нулевые элементы в массиве. У меня нет большого профессора, и попытки общения бесполезны, поэтому я надеюсь, что кто-то здесь может помочь. Далее следует мой код. Соответствующие биты начинаются с «public void remove». Я просто разместить весь код в этом классе, чтобы дать более полную картину того, что происходит:Как удалить элемент из массива в Java? И как мне пропускать нулевые элементы массива?
public class WatchCollection
{
private Watch watches[]; // an array of references to Watch objects
// watches[i] == null if there is no watch in position i
private int num; // size of the array
private void init(int numberOfWatches) {
watches = new Watch[numberOfWatches];
for (int i=0;i<numberOfWatches;++i)
{
watches[i] = null;
}
num = numberOfWatches;
}
public WatchCollection(int numberOfWatches)
{
init(numberOfWatches);
}
public WatchCollection (Watch w1)
{
init(1);
add(w1);
}
// TODO Define WatchCollection (Watch w1, Watch w2) constructor
public WatchCollection (Watch w1, Watch w2)
{
}
// TODO Define WatchCollection (Watch w1, Watch w2, Watch w3) constructor
public WatchCollection (Watch w1, Watch w2, Watch w3)
{
}
public void add (Watch w)
{
for(int i=0;i<num;++i)
{
if (watches[i]==null)
{
watches[i]=w;
return;
}
}
}
public void remove (Watch w)
{
// TODO Write a code that removes Watch w if it is in the array
}
public int size()
{
// TODO Write a code that returns actual number of watches, skip all null array elements
}
public Watch at(int index)
{
// TODO Write a code that returns a watch with the specified index (skip all null array elements)
// TODO Throw an exception if the index is < 0 or >= actual number of watches
// For example, if the array contains w1 w2 null w3 w4
// index 0 -> w1
// index 1 -> w2
// index 2 -> w3
// index 3 -> w4
// index 4 -> an exception
}
public String toString()
{
String str="{\n";
int index=0;
for(int i=0;i<num;++i)
{
if (watches[i]!=null)
{
str+=" " +index++ + ": " +watches[i] + "\n";
}
}
str+=" }";
return str;
}
}
Просто используйте 'ArrayList' и сделайте свою жизнь проще –
Кажется, вы просите нас сделать домашнее задание для вас. Что вы наделали? – Raedwald
Массивы полны «нуль» при их создании. Вам не нужно их обнулять, прежде чем использовать их. –