logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Objects and Collections Comments

  • Question
  • Which of the following are true statements?

    1. The Iterator interface declares only three methods: hasNext, next and remove.
    2. The ListIterator interface extends both the List and Iterator interfaces.
    3. The ListIterator interface provides forward and backward iteration capabilities.
    4. The ListIterator interface provides the ability to modify the List during iteration.
    5. The ListIterator interface provides the ability to determine its position in the List.


  • Options
  • A. 2, 3, 4 and 5
  • B. 1, 3, 4 and 5
  • C. 3, 4 and 5
  • D. 1, 2 and 3

  • Correct Answer
  • 1, 3, 4 and 5 

    Explanation
    The ListIterator interface extends the Iterator interface and declares additional methods to provide forward and backward iteration capabilities, List modification capabilities, and the ability to determine the position of the iterator in the List.

    Objects and Collections problems


    Search Results


    • 1. Which statement is true for the class java.util.HashSet?

    • Options
    • A. The elements in the collection are ordered.
    • B. The collection is guaranteed to be immutable.
    • C. The elements in the collection are guaranteed to be unique.
    • D. The elements in the collection are accessed using a unique key.
    • Discuss
    • 2. What two statements are true about properly overridden hashCode() and equals() methods?

      1. hashCode() doesn't have to be overridden if equals() is.
      2. equals() doesn't have to be overridden if hashCode() is.
      3. hashCode() can always return the same value, regardless of the object that invoked it.
      4. equals() can be true even if it's comparing different objects.

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 3
    • Discuss
    • 3. Assuming that the equals() and hashCode() methods are properly implemented, if the output is "x = 1111", which of the following statements will always be true?
      x = 0;
      if (x1.hashCode() != x2.hashCode() )  x = x + 1;
      if (x3.equals(x4) )  x = x + 10;
      if (!x5.equals(x6) ) x = x + 100;
      if (x7.hashCode() == x8.hashCode() )  x = x + 1000;
      System.out.println("x = " + x);
      

    • Options
    • A. x2.equals(x1)
    • B. x3.hashCode() == x4.hashCode()
    • C. x5.hashCode() != x6.hashCode()
    • D. x8.equals(x7)
    • Discuss
    • 4. Which two statements are true about comparing two instances of the same class, given that the equals() and hashCode() methods have been properly overridden?

      1. If the equals() method returns true, the hashCode() comparison == must return true.
      2. If the equals() method returns false, the hashCode() comparison != must return true.
      3. If the hashCode() comparison == returns true, the equals() method must return true.
      4. If the hashCode() comparison == returns true, the equals() method might return true.

    • Options
    • A. 1 and 4
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 3
    • Discuss
    • 5. What will be the output of the program?
      public static void main(String[] args) 
      {
          Object obj = new Object() 
          {
              public int hashCode() 
              {
                  return 42;
              }
          }; 
          System.out.println(obj.hashCode()); 
      }
      

    • Options
    • A. 42
    • B. Runtime Exception
    • C. Compile Error at line 2
    • D. Compile Error at line 5
    • Discuss
    • 6. Which statement is true for the class java.util.ArrayList?

    • Options
    • A. The elements in the collection are ordered.
    • B. The collection is guaranteed to be immutable.
    • C. The elements in the collection are guaranteed to be unique.
    • D. The elements in the collection are accessed using a unique key.
    • Discuss
    • 7. Which of the following statements about the hashcode() method are incorrect?

      1. The value returned by hashcode() is used in some collection classes to help locate objects.
      2. The hashcode() method is required to return a positive int value.
      3. The hashcode() method in the String class is the one inherited from Object.
      4. Two new empty String objects will produce identical hashcodes.

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 4
    • Discuss
    • 8. Which statement is true?
      class Test1 
      {
          public int value;
          public int hashCode() { return 42; }
      }
      class Test2 
      {
          public int value;
          public int hashcode() { return (int)(value^5); }
      }
      

    • Options
    • A. class Test1 will not compile.
    • B. The Test1 hashCode() method is more efficient than the Test2 hashCode() method.
    • C. The Test1 hashCode() method is less efficient than the Test2 hashCode() method.
    • D. class Test2 will not compile.
    • Discuss
    • 9. What will be the output of the program?
      class Happy extends Thread 
      { 
          final StringBuffer sb1 = new StringBuffer(); 
          final StringBuffer sb2 = new StringBuffer(); 
      
          public static void main(String args[]) 
          { 
              final Happy h = new Happy(); 
      
              new Thread() 
              { 
                  public void run() 
                  { 
                      synchronized(this) 
                      { 
                          h.sb1.append("A"); 
                          h.sb2.append("B"); 
                          System.out.println(h.sb1); 
                          System.out.println(h.sb2); 
                      } 
                  } 
              }.start(); 
      
              new Thread() 
              { 
                  public void run() 
                  { 
                      synchronized(this) 
                      { 
                          h.sb1.append("D"); 
                          h.sb2.append("C"); 
                          System.out.println(h.sb2); 
                          System.out.println(h.sb1); 
                      } 
                  } 
              }.start(); 
          } 
      }
      

    • Options
    • A. ABBCAD
    • B. ABCBCAD
    • C. CDADACB
    • D. Output determined by the underlying platform.
    • Discuss
    • 10. What will be the output of the program?
      class MyThread extends Thread 
      {
          public static void main(String [] args) 
          {
              MyThread t = new MyThread(); /* Line 5 */
              t.run();  /* Line 6 */
          }
      
          public void run() 
          {
              for(int i=1; i < 3; ++i) 
              {
                  System.out.print(i + "..");
              }
          }
      }
      

    • Options
    • A. This code will not compile due to line 5.
    • B. This code will not compile due to line 6.
    • C. 1..2..
    • D. 1..2..3..
    • Discuss


    Comments

    There are no comments.

Enter a new Comment