Guest User

Untitled

a guest
Oct 19th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. package com.company;
  2.  
  3. import org.omg.CORBA.portable.OutputStream;
  4.  
  5. import java.io.InputStream;
  6. import java.util.*;
  7. import java.util.function.UnaryOperator;
  8.  
  9. abstract class My {
  10. int i;
  11. My(int k) {
  12. i = k;
  13. };
  14.  
  15. public void foo() {
  16.  
  17. }
  18.  
  19. public abstract void f();
  20. }
  21.  
  22. // class MyAbstractClass {
  23. // int x;
  24. // int y;
  25. // virtual void move() = 0;
  26. //
  27. // }
  28.  
  29. interface IMy {
  30. void foo();
  31. }
  32.  
  33. interface Movable {
  34. void move();
  35. void Save();
  36. }
  37.  
  38. interface Serizalizable {
  39. void Save();
  40. void Load(InputStream in);
  41. }
  42.  
  43. class CarData implements Movable, Serizalizable {
  44.  
  45. @Override
  46. public void move() {
  47.  
  48. }
  49.  
  50. @Override
  51. public void Save() {
  52. System.out.println("Save!");
  53. }
  54.  
  55. @Override
  56. public void Load(InputStream in) {
  57.  
  58. }
  59. }
  60.  
  61. class Impl extends My {
  62. @Override
  63. public void f() {
  64. System.out.println(i);
  65. }
  66.  
  67. Impl() {
  68. super(10);
  69. }
  70. };
  71.  
  72. class MyClass implements Comparable<MyClass> {
  73. int i;
  74. MyClass(int j) { i = j; };
  75. @Override
  76. public int compareTo(MyClass o) {
  77. return i - o.i;
  78. }
  79. }
  80.  
  81. // Object
  82. class MyArrayList<T extends Comparable<T>> implements Iterable<T> { // type erasure
  83. Object[] objects = new Object[10];
  84. int size = 0;
  85.  
  86. void add(T obj) {
  87. objects[size++] = obj;
  88. }
  89.  
  90. T get(int index) {
  91. return (T)objects[index];
  92. }
  93.  
  94. static class Another {
  95. }
  96.  
  97. class MyIterator implements Iterator<T> {
  98. int cur = 0;
  99. @Override
  100. public boolean hasNext() {
  101. return cur < size;
  102. }
  103.  
  104. @Override
  105. public T next() {
  106. return (T)objects[cur++];
  107. }
  108. }
  109.  
  110. @Override
  111. public Iterator<T> iterator() {
  112. return new Iterator<T>() {
  113. int cur = 0;
  114. @Override
  115. public boolean hasNext() {
  116. return cur < size;
  117. }
  118.  
  119. @Override
  120. public T next() {
  121. return (T)objects[cur++];
  122. }
  123. };
  124. }
  125. }
  126. // class Interface {
  127. // virtual void foo() = 0;
  128. // virtual void do() = 0;
  129. //}
  130.  
  131. // class A {
  132. //
  133. // virtual void foo() = 0;
  134. // }
  135.  
  136. class Base {
  137. @Override
  138. public String toString() {
  139. return "Base";
  140. }
  141.  
  142. void doSmth() {
  143. System.out.println("do");
  144. }
  145. }
  146.  
  147. class Derieved extends Base {
  148. @Override
  149. public String toString() {
  150. return "Derieved";
  151. }
  152.  
  153. @Override
  154. void doSmth() {
  155. System.out.println("do1");
  156. }
  157. }
  158.  
  159.  
  160. public class Main {
  161. static void doSmth(Base b) {
  162. b.doSmth();
  163. }
  164.  
  165.  
  166.  
  167. static <T extends Base> void foo (List<T> b) {
  168. for (Base bb : b) {
  169. System.out.println(bb);
  170. bb.doSmth();
  171. }
  172. }
  173.  
  174. public static void main(String[] args) {
  175. System.out.println("hello");
  176. Main m = new Main();
  177. int i;
  178. double f;
  179.  
  180. // Collections.
  181.  
  182. // n*log(n) // <
  183. // n!
  184. // log(n!) (n / e) ^ n
  185. // nlogn
  186.  
  187. char a;
  188. // ASCII
  189. // KOI8-R
  190. // UNICODE VVV
  191.  
  192. // UTF-8 // variable
  193. // UTF-16 суррогатные пары
  194. // UTF-32 -- 4 байта
  195. // 010101011 11111000 10........ 10.......
  196. byte c;
  197.  
  198.  
  199. Impl ij = new Impl();
  200. ij.f();
  201. Serizalizable obj = new CarData();
  202. obj.Save();
  203.  
  204. int[] ar = new int[10];
  205. // vector ->
  206. //ArrayList
  207. MyArrayList<Integer> lst
  208. = new MyArrayList<>(); // Diamond Syntax
  209.  
  210. lst.add(10);
  211. lst.add(11);
  212.  
  213. List<Integer> l = new ArrayList<>();
  214. l.add(10);
  215. l.add(11);
  216. for (Integer it : lst) {
  217. System.out.println(it);
  218. }
  219.  
  220. Iterator<Integer> it1 =
  221. lst.new MyIterator();
  222. MyArrayList.Another ab =
  223. new MyArrayList.Another();
  224.  
  225. // class Base
  226. // class Derieved
  227. // vector<Base>
  228. // vector<Derieved>
  229. // f(Base* b) { .... }
  230. // f(vector<Base*>& fst) {
  231. // }
  232. System.out.println("-----");
  233. List<Integer> first = new ArrayList<>();
  234. first.add(10);
  235. for (Integer it : first) {
  236. System.out.println(it);
  237. }
  238. // List<Integer> scd = new ArrayList<>();
  239. // Collections.copy(scd, first);
  240.  
  241. // scd.add(15);
  242. for (Integer it : first) {
  243. System.out.println(it);
  244. }
  245. List<Base> d =
  246. new ArrayList<>();
  247.  
  248. List<?> baseL = d;
  249. //baseL.get(0).doSmth();
  250.  
  251. d.add(new Derieved());
  252. foo(d);
  253. }
  254. }
Add Comment
Please, Sign In to add comment