У меня есть задача, которую я смог выполнить с помощью простейших методов - массивов. Теперь я хотел бы пойти дальше и переделать его, используя некоторые более сложные функции Java, такие как коллекции, но я никогда не использовал ничего более сложного, чем 2d матрица. На что мне смотреть и с чего начать. Должна ли башня стать коллекцией? И вот задача:
У нас есть два класса - Башня и Блок. Башни построены из блоков.
И вот пример кода для тестирования:
Block k1=new Block("yellow",1,5,4);
Block k2=new Block("blue",2,2,6);
Block k3=new Block("green",3,4,2);
Block k4=new Block("yellow",1,5,4);
Tower tower=new Tower();
tower.add(k1,k2,k3);
"Added 3 blocks."
System.out.println(tower);
"block: green, base: 4cm x 3cm, thicknes: 2 cm
block: blue, base: 6cm x 2cm, thicknes: 2 cm
block: yellow, base: 5cm x 4cm, thicknes: 1 cm"
tower.add(k2);
"Tower already contains this block."
tower.add(k4);
"Added 1 block."
System.out.println(tower);
"block: green, base: 4cm x 3cm, thicknes: 2 cm
block: blue, base: 6cm x 2cm, thicknes: 2 cm
block: yellow, base: 5cm x 4cm, thicknes: 1 cm
block: yellow, base: 5cm x 4cm, thicknes: 1 cm"
tower.delete(k1);
"Deleted 1 block"
tower.delete(k1);
"Block not in tower"
System.out.println(tower);
"block: blue, base: 6cm x 2cm, thicknes: 2 cm
block: yellow, base: 5cm x 4cm, thicknes: 1 cm
block: yellow, base: 5cm x 4cm, thicknes: 1 cm"
Скажем, я буду рассматривать Башню как набор блоков. Как выполнить поиск определенного блока среди всей коллекции? Или я должен использовать другой интерфейс?