1

如果我在我的数组列表中添加了两个项目,并且这两个项目具有相同的名称,当我想打印它们时,它们将具有与我调用方法 indexOf() 时相同的索引,它将返回第一次出现的索引 theElement ,获取项目索引的最佳方法是什么,我尝试声明一个局部变量并将计数器的值分配给它,并在我刚刚添加的打印语句中 - 它确实有效,但我认为它应该做一个更好的方法

public class Example 
{


      public void checkIndex(int index)
       {
          if (index < 0 || index >= size) // smaller 
             throw new IndexOutOfBoundsException
                 ("index = " + index + "  size = " + size);
       }

       public Object get(int index)
       {
          checkIndex(index);
          return element[index];
       }


       public int indexOf(Object theElement)
       {
          // search element[] for theElement
          for (int i = 0; i < size; i++)
             if (element[i].equals(theElement))
                return i;

          // theElement not found
          return -1;
       }   

}

    public class Array extends Example

    {
       protected void printList()
        {
            int counter = 0;
            if(super.size() == 0)
            {
                System.out.println("List is Empty.");
            }
            else 
            {
                System.out.println("\nShowing List: ");
                while(counter < super.size())
                {
                    String s = (counter+1) + "\t" + super.get(counter).toString();

                   System.out.println(s + " the index is: " + super.indexOf(super.get(counter)));

                }
            }
            System.out.println();  // this is to sprate the the options from the result.
        }
    }
4

1 回答 1

1

您可以以提供以下内容的方式设计您的课程:

IndexOf(object obj) // giving index of first occurrence

IndexOf(object obj, int startIndex) // giving index of first occurrence after the specified index
于 2013-10-30T00:26:13.217 回答