import java.util.LinkedHashMap;
import java.util.Map;
/*
Deep clone example
*/
public class Solution implements Cloneable {
public static void main(String[] args) {
Solution solution = new Solution();
solution.users.put("Hubert", new User(172, "Hubert"));
solution.users.put("Zapp", new User(41, "Zapp"));
try {
Solution clone = (Solution) solution.clone();
System.out.println(solution);
System.out.println(clone);
System.out.println(solution.users);
System.out.println(clone.users);
} catch (CloneNotSupportedException e) {
e.printStackTrace(System.err);
}
}
@Override
public Object clone() throws CloneNotSupportedException {
Solution o = (Solution) super.clone();
//clone users
Map<String, User> newUsers = new LinkedHashMap<>();
for (String key : o.users.keySet()) {
User user = o.users.get(key);
newUsers.put(key, (User) user.clone());
}
o.users = newUsers;
return o;
}
protected Map<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
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
User user = (User) o;
if (age != user.age) {
return false;
}
return name != null ? name.equals(user.name) : user.name == null;
}
@Override
public int hashCode() {
int result = age;
result = 31 * result + (name != null ? name.hashCode() : 0);
return result;
}
}
}
-
MY PROJECTS
-
Recent Posts
- SQL.What are domain types (or constraints on data types), and how do they help enforce data correctness?
- SQL.How does SQL handle comparisons between different data types (for example, string vs number), and why is this dangerous?
- SQL.What is the difference between DATE, TIME, TIMESTAMP, and TIMESTAMPTZ, and which one should be used for business events?
- SQL.How do numeric types like INTEGER, BIGINT, DECIMAL, and FLOAT differ in terms of precision and use cases?
- SQL.What problems can arise from implicit type casting in SQL, and how can it affect indexes?
- SQL.How does NULL differ from 0, an empty string, or FALSE in SQL?
- SQL.What is the difference between CHAR, VARCHAR, and TEXT, and when would you choose each?
- SQL.What is MVCC ?
- SQL.What is AutoVacuum Postgres ?
- SQL.What is eventual consistency ?
- SQL.What is CDC (Change Data Capture)? ?
- SQL.If i should write a little operations of income and outome of client from kafka and then show them big reports, what should i do ? Shouldnt it be the one db to not to write to both OLTP and OLAP databases ?
- SQL.What is OLTP, OLAP ?
- SQL.What is full scan / index scan ?
- SQL.How DBMS chooses the plan ?
- SQL.JoinExamples
- SQL.What are join algos ?
- SQL.What is the problem in using null in in operator ?
- SQL.How does the relational model differ from object-oriented models, and why does this matter for backend development?
- SQL.What guarantees does the relational model provide, and what does SQL not guarantee?
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений