Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tarefa05;
- public class Map {
- public static class Pair {
- private Object key, value;
- public Pair(Object key, Object value) {
- this.key = key;
- this.value = value;
- }
- }
- private Pair[] pairs;
- private int nElements, newPosition;
- private boolean entered = false;
- public Map(){
- pairs = new Pair[2];
- nElements = 0;
- }
- public void put(Object key, Object value) {
- for (int i = 0; i<nElements; i++) {
- if (key == pairs[i].key) {
- pairs[i].value = value;
- entered = true;
- }
- } if (!entered){
- newPosition = nElements;
- if (newPosition+1 > pairs.length){
- doubleSize(pairs);
- }
- pairs[newPosition]=new Pair(key, value);
- nElements++;
- }
- entered = false;
- }
- public Object get(Object key) {
- for (int i=0; i<pairs.length; i++) {
- if (key == pairs[i].key) {
- return pairs[i].value;
- }
- }
- return null;
- }
- public void remove(Object key) {
- Pair[] temp = new Pair[pairs.length];
- int count = 0;
- for (int i = 0; i < pairs.length; i++) {
- if (pairs[i].key != key){
- temp[i] = pairs[i];
- count++;
- }
- }
- if (nElements > count)
- nElements--;
- pairs = temp;
- }
- public Object[] keys (){
- Object[] temp = new Object[nElements];
- for (int i = 0; i < pairs.length; i++) {
- if (pairs[i]!=null){
- temp[i] = pairs[i].key;
- }
- }
- }
- public void doubleSize(Pair[] p) {
- Pair[] temp = new Pair[p.length*2];
- for (int i = 0; i < p.length; i++) {
- temp[i] = p[i];
- }
- pairs = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement