1. Interface Iterator; Iterator pattern package org.example ; import java.util.Iterator ; public class MyIterator < T > implements Iterator < T > { private T [] objects ; private int index = 0 ; public MyIterator ( T [] objects ) { this . objects = objects ; } @Override public boolean hasNext () { return index < objects . length ; } @Override public T next () { return objects [ index ++] ; } } package org.example ; public class Main { public static void main ( String [] args ) { String [] strings = { "Hesen" , "Tamerlan" , "Nesimi" , "Kamran" , "Etibar" , "Javid" , "Vahid" , "Reshad" , "Araz" , "Ayaz" , "Adil" , "Imdad" , "Xeyyam" } ; MyIterator < String > myIterator = new MyIterator<>( strings ) ; while ( myIterator .hasNext...