diff --git a/src/main/java/school/lemon/changerequest/java/generics/container/Container.java b/src/main/java/school/lemon/changerequest/java/generics/container/Container.java new file mode 100644 index 0000000..05f7702 --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/generics/container/Container.java @@ -0,0 +1,36 @@ +package school.lemon.changerequest.java.generics.container; + +import java.util.ArrayList; +import java.util.LinkedList; + +/** + * Created by User on 02.01.2017. + */ +public class Container { + ArrayList container= new ArrayList(); + public Container (){ + } +public int size(Container e){ + if(e==null)throw new NullPointerException(); + return container.size(); +} +public void clear(Container e){ + if(e==null)throw new NullPointerException(); + container.clear(); +} +public void add(T element){ + + container.add(element); +} +public T get(int index){ + return container.get(index); +} +public void add(T element, int index){ + container.add(index, element); +} +public void remove(int index){ + container.remove(index); +} + + +} diff --git a/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/DubleGenerator.java b/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/DubleGenerator.java new file mode 100644 index 0000000..5441da1 --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/DubleGenerator.java @@ -0,0 +1,23 @@ +package school.lemon.changerequest.java.generics.numberGenerators; + +/** + * Created by User on 02.01.2017. + */ +public class DubleGenerator extends NumberGenerator { + + + @Override + public Number[] NumberGenerator() { + Double[] doublerGenerator=new Double[10]; + for(int i=0;i { + + + public void generateAndPrint() { + int numberOfMethods = 2; + double randomNumbers = Math.random() * numberOfMethods; + if (randomNumbers < 1) { + DubleGenerator dubleGeneratorForPrint = new DubleGenerator(); + System.out.println(toString(dubleGeneratorForPrint.NumberGenerator())); + } + if (randomNumbers > 1&&randomNumbers < 2) { + IntegerGenerator intGeneratorForPrint = new IntegerGenerator(); + System.out.println(toString(intGeneratorForPrint.NumberGenerator())); + } + } + + + public String toString(Number[] n) { + StringBuilder sb = new StringBuilder( ); + if(n instanceof Double[]){sb.append("Doubles:[");} + if(n instanceof Integer[]){sb.append("Integers:[");} + for (int i = 0; i < n.length; i++) { + sb.append(n[i]); + sb.append(", "); + } + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/Test.java b/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/Test.java new file mode 100644 index 0000000..a69022d --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/generics/numberGenerators/Test.java @@ -0,0 +1,21 @@ +package school.lemon.changerequest.java.generics.numberGenerators; + +/** + * Created by User on 03.01.2017. + */ +public class Test { + public static void main(String[] args) { + Printer test=new Printer(); + int counter=10; + + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + test.generateAndPrint(); + + } +} diff --git a/src/main/java/school/lemon/changerequest/java/generics/pairUtils/Pair.java b/src/main/java/school/lemon/changerequest/java/generics/pairUtils/Pair.java new file mode 100644 index 0000000..c09db65 --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/generics/pairUtils/Pair.java @@ -0,0 +1,20 @@ +package school.lemon.changerequest.java.generics.pairUtils; + +/** + * Created by User on 01.01.2017. + */ +public class Pair { + private K key; + private V value; + public Pair (K key, V value) { + } + + public K getKey() { + return key; + } + + public V getValue() { + return value; + } +} + diff --git a/src/main/java/school/lemon/changerequest/java/generics/pairUtils/PairUtils.java b/src/main/java/school/lemon/changerequest/java/generics/pairUtils/PairUtils.java new file mode 100644 index 0000000..9389889 --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/generics/pairUtils/PairUtils.java @@ -0,0 +1,84 @@ +package school.lemon.changerequest.java.generics.pairUtils; + +import java.util.HashSet; + +/** + * Created by User on 01.01.2017. + */ +public class PairUtils { + private K key; + private V value; + + public PairUtils(Pair a) { + this.key = (K) a.getKey(); + this.value = (V) a.getValue(); + } + + + public static boolean equals(Pair a, Pair b) { + if (a.getClass() == b.getClass()) return false; + if (a instanceof Pair && b instanceof Pair) { + if (!(a.getValue().getClass() == b.getValue().getClass())) return false; + if (!(a.getKey().getClass() == b.getKey().getClass())) return false; + if (!(a.getKey() == b.getKey())) return false; + if (!(a.getValue() == b.getValue())) return false; + } + return true; + } + + + public static int compareTo(Pair a, Pair b) { + if (a.getClass() == b.getClass()) throw new ClassCastException(); + if (a instanceof Pair && b instanceof Pair) { + if (!(a.getValue().getClass() == b.getValue().getClass())) throw new ClassCastException(); + if (!(a.getKey().getClass() == b.getKey().getClass())) throw new ClassCastException(); + if (a.getValue() == null | b.getValue() == null) throw new NullPointerException(); + if (a.getKey() == null | b.getKey() == null) throw new NullPointerException(); + + + } + return (int) ((Pair) a).getValue() - (int) ((Pair) b).getValue(); + } + + public static V[] getValues(Pair[] a) { + V[] resultl = (V[]) new Object[a.length]; + for (int i = 0; i < a.length; i++) { + resultl[i] = (V) a[i].getValue(); + } + return resultl; + } + + public static V[] getKeys(Pair[] a) { + V[] resultl = (V[]) new Object[a.length]; + for (int i = 0; i < a.length; i++) { + resultl[i] = (V) a[i].getKey(); + } + return resultl; + } + + public static

int countGreaterThan(Pair[] a, P parameter) { + if (a == null | parameter == null) throw new NullPointerException(); + if (a.length == 0) return 0; + if (!(a[0].getKey().getClass() == parameter.getClass())) throw new ClassCastException(); + int counter = 0; + for (int i = 0; i < a.length; i++) { + + if (((Integer) a[i].getKey() - (Integer) (parameter)) > 0) { + counter++; + } + } + return counter; + } + public static int ContainsUniqueObjects(Pair[]a){ + if (a == null) throw new NullPointerException(); + if (a.length == 0) return 0; + + HashSet UniqueObjects= new HashSet(); + for (int i=0;i