School Commit Init

This commit is contained in:
2024-08-31 12:07:21 +03:00
commit 0b130ee18c
2801 changed files with 4720552 additions and 0 deletions
@@ -0,0 +1,72 @@
package Models.Program;
import Exceptions.BaseException;
import java.util.Collection;
import java.util.Hashtable;
public class GenericDictionary<K, V> implements IDictionary<K, V> {
private Hashtable<K, V> dictionary;
public GenericDictionary() {
dictionary = new Hashtable<K, V>();
}
public void add(K key, V value) throws BaseException {
if (dictionary.containsKey(key)) {
throw new BaseException("Key already exists in dictionary.");
}
dictionary.put(key, value);
}
public void update(K key, V value) throws BaseException {
if (!dictionary.containsKey(key)) {
throw new BaseException("Key does not exist in dictionary.");
}
dictionary.put(key, value);
}
public void remove(K key) throws BaseException {
if (!dictionary.containsKey(key)) {
throw new BaseException("Key does not exist in dictionary.");
}
dictionary.remove(key);
}
public V get(K key) throws BaseException {
if (!dictionary.containsKey(key)) {
throw new BaseException("Key does not exist in dictionary.");
}
return dictionary.get(key);
}
public boolean contains(K key) {
return dictionary.containsKey(key);
}
public String toString() {
var sb = new StringBuilder();
for (var key : dictionary.keySet()) {
sb.append(key);
sb.append(" --> ");
sb.append(dictionary.get(key));
sb.append("\n");
}
return sb.toString();
}
public Collection<V> getContent() {
return dictionary.values();
}
public IDictionary<K, V> copy() {
var newDictionary = new GenericDictionary<K, V>();
for (var key : dictionary.keySet()) {
newDictionary.dictionary.put(key, dictionary.get(key));
}
return newDictionary;
}
}