JavaRush/Курсы/Java Multithreading/Задачи на клонирование

Задачи на клонирование

Открыта

— Привет, Амиго!

Я тут нашел журнал за 2014 год, представляешь?

И там набор старых-престарых задач на клонирование. Вот смотри:

12
Задача
Java Multithreading,  1 уровень,  8 лекция
Недоступна
Глубокое клонирование карты
Глубокое клонирование карты
12
Задача
Java Multithreading,  1 уровень,  8 лекция
Недоступна
Клонирование растений
Клонирование растений
6
Задача
Java Multithreading,  1 уровень,  8 лекция
Недоступна
Запретить клонирование
Запретить клонирование
Комментарии (152)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
TimJohnzz
Уровень 23
26 октября, 10:07
Прочитал в интернетах, что clone никто не использует, а используют дополнительный конструктор класса, который возвращает копию обьекта, ну, ладно
Denis Pereladov
Уровень 40
1 марта, 09:25
Я наконец понял очень простую вещь, чтобы не путаться. • Примитивы — клонируются автоматически. • Immutable объекты (неизменяемые) — просто копируем. Для массивов Immutable объектов достаточно вызвать .clone() на массиве. • Mutable объекты (изменяемые) или массивы Mutable объектво — делаем глубокое клонирование (создание нового объекта и копирование содержимого через цикл). Как раз и навсегда запомнить, что есть Immutable, а что Mutable?
// Immputable — чтобы изменить значение поля, необходимо выполнить присвоение нового значения
String string = "Hello";
string.toUpperCase; // у поля string ничего не изменилось
string = string.toUpperCase; // присвоили полю string новую строку "HELLO"

// Mutable — можно вызывать метод, который изменяет само значение
ArrayList<String> original = new ArrayList<>();
original.add("A");

ArrayList<String> сopy = original;

original.add("B"); // меняем original

System.out.println(original);   // [A, B]
System.out.println(copy); // [A, B] — copy тоже изменился
P.S. нет, это не нейросеть, у меня Alt + 0151 на автопилоте после четырёх лет курсачей и дипломной работы
Anonymous #3585174
Уровень 33
23 сентября 2025, 11:51
Like
Влад
Уровень 56
31 июля 2025, 12:03
что не так с первой задачей не проходит по последнему условию с пометкой "При клонировании должен быть создан новый объект, а не возвращен текущий." public class Solution implements Cloneable{ @Override protected Solution clone() throws CloneNotSupportedException { Solution solutionClone = (Solution) super.clone(); HashMap<String, User> clonedMap = new LinkedHashMap<>(); solutionClone.users = clonedMap; for (Map.Entry<String, User> entry : users.entrySet()) { String s = entry.getKey(); User u = entry.getValue(); User userClone = u.clone(); solutionClone.users.put(s, userClone); } return solutionClone; } protected HashMap<String, User> users = new LinkedHashMap(); public static class User implements Cloneable { int age; String name; public User(int age, String name) { this.age = age; this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return age == user.age && Objects.equals(name, user.name); } @Override public int hashCode() { return Objects.hash(age, name); } @Override protected User clone() throws CloneNotSupportedException { return (User) super.clone(); } } }
28 июня 2025, 08:46
Задачи достаточно интересные на закрепление изученного материала, только вот... Материал я изучал на сторонних сайтах и с помощью ИИ. К сожалению, после оригинальной лекции мало что отложилось в голове. С другой стороны меня такой подход вполне устраивает, что JavaRush даёт вектор по которому ты движешься, а остальное учишься искать сам, что не маловажно в этой профессии. И я всегда задумываюсь над тем, что после окончания курса нам даже направление никто показывать не будет и что тогда? И опять же, я купил этот курс под новый год тысяч за 6,5 рублей, что это сейчас за сумма? Совсем ничего за такой огромный объем задач и такое прекрасное комьюнити, которое все объяснит и поддержит. Так что мой совет тем, кто ничего не понимает, откройте глаза и поймите уже, что в этой суровой жизни никто ничего объяснять не будет. В том-то и задумка учиться разбираться во всём самому. Спасибо JavaRush!
VictorThe main expert in Automa в Строительная компани
14 августа 2025, 08:06
Задача тут совершенно другая - заработать побольше а вложить поменьше - статьи в курсе - это бесплатные работы студентов.
14 августа 2025, 08:12
Я сейчас на 40-м уровне и скажу вам, что наступил тот момент, когда ты прикоснулся к многим темам, много чего изучил, прочитал, решил задач, и чем больше знаний, тем больше осознание того, что я совсем ничего не понимаю. Курс сейчас - это 20%, а то и меньше, остальное - полностью самостоятельное изучение
Anonymous #3473304
Уровень 51
7 марта 2025, 10:26
Если цель этого обучения - это отучить изучать Java, то вы блестяще справляетесь, а иначе это фиаско.
No Name
Уровень 22
19 ноября 2024, 14:18
+ задачи в копилке
VAKHANDER
Уровень 32
30 октября 2024, 16:05
30.10.2024
Igoreek
Уровень 43
22 августа 2024, 17:56
"Не твой уровень дорогой" неожиданно я подумал про себя 🤯
Sergio Kane
Уровень 38
29 июля 2024, 16:45
То есть задача с числами Армстронга - это хард, а вот это эпик? Да я на завтрак больше времени потратил чем на нее.
Anonymous #3473304
Уровень 51
7 марта 2025, 12:27
VictorThe main expert in Automa в Строительная компани
14 августа 2025, 08:07
эпик - это шутка юмора