/src/chap7/chap73.java

https://github.com/ogavrisevs/SCJP-CodeExamples · Java · 278 lines · 188 code · 63 blank · 27 comment · 33 complexity · 542f1e09f17e845dd85763bfd8781c5b MD5 · raw file

  1. package chap7;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.HashMap;
  5. import java.util.HashSet;
  6. import java.util.Hashtable;
  7. import java.util.Iterator;
  8. import java.util.LinkedHashMap;
  9. import java.util.LinkedHashSet;
  10. import java.util.LinkedList;
  11. import java.util.List;
  12. import java.util.Map;
  13. import java.util.NavigableMap;
  14. import java.util.NavigableSet;
  15. import java.util.PriorityQueue;
  16. import java.util.Queue;
  17. import java.util.Set;
  18. import java.util.SortedMap;
  19. import java.util.SortedSet;
  20. import java.util.TreeMap;
  21. import java.util.TreeSet;
  22. import java.util.Vector;
  23. public class chap73 {
  24. public static void main (String [] argv){
  25. new chap73();
  26. }
  27. public chap73(){
  28. chap730();
  29. chap731();
  30. chap732();
  31. chap733();
  32. chap734();
  33. chap735();
  34. }
  35. /**
  36. * Map , complex obj
  37. */
  38. public void chap735(){
  39. Map<Object, Object> myMap = new HashMap<Object, Object>();
  40. Object[][] objDim = {{ new SimpleA("aka"), new SimpleA("aka") , new SimpleA("aka"), "aka" , new Integer(1) },
  41. { new SimpleA("kak"), new SimpleA("aka") , new SimpleA("222"), "dati" , "dt" } };
  42. for (int sk = 0; sk < objDim[0].length; sk ++){
  43. Object obj = myMap.put(objDim[0][sk], objDim[1][sk]);
  44. if (obj == null)
  45. System.out.println(" add val: "+ objDim[0][sk] +" val: "+ objDim[1][sk] );
  46. else
  47. System.out.println(" repl "+ obj.toString());
  48. }
  49. //print all
  50. for (Object obj : myMap.keySet())
  51. System.out.println("key : "+ ((obj != null)? obj.toString() : "null") + " , val : "+ myMap.get(obj));
  52. System.out.println();
  53. //try retrieve
  54. Object obj = myMap.get(objDim[0][0]);
  55. System.out.println("try get key :"+ objDim[0][0]);
  56. if (obj == null) System.out.println(" not found !");
  57. else System.out.println(" got"+ obj.toString());
  58. obj = myMap.get("aka");
  59. System.out.println("try get key :"+ "aka");
  60. if (obj == null) System.out.println(" not found !");
  61. else System.out.println(" got "+ obj.toString());
  62. obj = myMap.get(1);
  63. System.out.println("try get key :"+ 1);
  64. if (obj == null) System.out.println(" not found !");
  65. else System.out.println(" got "+ obj.toString());
  66. }
  67. /**
  68. * Maps, HasMaps, Simple obj.
  69. */
  70. public void chap734(){
  71. Map<Object, Object> myMap = new HashMap<Object, Object>();
  72. Object[][] objDim = {{"key1", "key2", new Integer(1), null , "key1" },
  73. {"val1", "val2", "111" , "null" , "val1" } };
  74. for (int sk = 0; sk < objDim[0].length; sk ++){
  75. Object obj = myMap.put(objDim[0][sk], objDim[1][sk]);
  76. if (obj == null)
  77. System.out.println(" add val: "+ objDim[0][sk] +" val: "+ objDim[1][sk] );
  78. else
  79. System.out.println(" repl "+ obj.toString());
  80. }
  81. for (Object obj : myMap.keySet())
  82. System.out.println("key : "+ ((obj != null)? obj.toString() : "null") + " , val : "+ myMap.get(obj));
  83. System.out.println();
  84. }
  85. /**
  86. * Set's HashMap add simple types
  87. */
  88. public void chap732(){
  89. Set mySet = new HashSet();
  90. Object[]list = {"aa", new String("aa") , (int)1 , new Integer(1)};
  91. for(Object obj : list) {
  92. if (mySet.add(obj))
  93. System.out.println("add suc.: "+ obj.toString());
  94. else
  95. System.out.println("add fail: "+ obj.toString());
  96. }
  97. for (Object obj : mySet)
  98. System.out.print(obj.toString()+ " ");
  99. System.out.println();
  100. }
  101. /**
  102. * Set's HashMap add obj
  103. */
  104. public void chap733(){
  105. Set mySet = new HashSet();
  106. String[]list = {"aa", "bb", "bb", null};
  107. for(String str : list) {
  108. SimpleC a1 = new SimpleC(str);
  109. if (mySet.add(a1))
  110. System.out.println("add suc.: "+ a1);
  111. else
  112. System.out.println("add fail: "+ a1);
  113. }
  114. //for (Object obj : mySet)
  115. // System.out.print(obj.getStr()+ " ");
  116. //System.out.println();
  117. }
  118. /**
  119. * iterator over List
  120. */
  121. public void chap731(){
  122. List<SimpleC> myList = new ArrayList<SimpleC>();
  123. myList.add(new SimpleC("one"));
  124. myList.add(new SimpleC("dos"));
  125. myList.add(new SimpleC("tres"));
  126. for (SimpleC aa : myList)
  127. System.out.print(aa.getStr() + " ");
  128. System.out.println();
  129. Iterator<SimpleC> iter = myList.iterator();
  130. while (iter.hasNext())
  131. System.out.print(iter.next());
  132. }
  133. /**
  134. * All kind Collections, kill me please!
  135. */
  136. public void chap730(){
  137. // Sets
  138. Set<Object> a1 = new HashSet<Object>();
  139. Set<Object> a2 = new LinkedHashSet<Object>();
  140. SortedSet<Object> a3 = new TreeSet<Object>();
  141. NavigableSet<Object> a4 = new TreeSet<Object>();
  142. Set<Object> a41 = new TreeSet<Object>();
  143. //Lists
  144. List a5 = new ArrayList<Object>();
  145. List a6 = new LinkedList<Object>();
  146. List a7 = new Vector<Object>();
  147. //Queue
  148. Queue a8 = new LinkedList<Object>();
  149. Queue a9 = new PriorityQueue<Object>();
  150. //Map's
  151. Map a10 = new HashMap<Object, Object>();
  152. Map a11 = new Hashtable();
  153. Map a12 = new HashMap<Object, Object>();
  154. Map a13 = new LinkedHashMap<Object, Object>();
  155. Map a14 = new TreeMap<Object, Object>();
  156. SortedMap a15 = new TreeMap<Object, Object>();
  157. NavigableMap a16 = new TreeMap<Object, Object>();
  158. Collection[] list = {a1, a2, a3, a4, a41, a5, a6, a7, a8, a9};
  159. Map[] listM = {a10, a11, a12, a13, a14, a15};
  160. System.out.println(list.toString());
  161. System.out.println(listM.toString());
  162. }
  163. }
  164. class SimpleA {
  165. private String str;
  166. public SimpleA(String str) {
  167. this.str = str;
  168. }
  169. public String getStr() {
  170. return str;
  171. }
  172. public void setStr(String str) {
  173. this.str = str;
  174. }
  175. @Override
  176. public String toString() {
  177. StringBuilder builder = new StringBuilder();
  178. builder.append("SimpleA [str=");
  179. builder.append(str);
  180. builder.append("]");
  181. return builder.toString();
  182. }
  183. @Override
  184. public boolean equals(Object o){
  185. if ( (o instanceof SimpleA)
  186. && ( this.getStr().equals(((SimpleA) o).getStr())))
  187. return true;
  188. else
  189. return false;
  190. }
  191. @Override
  192. public int hashCode(){
  193. return this.str.hashCode();
  194. }
  195. }
  196. class SimpleC{
  197. private String str ;
  198. public SimpleC(String str) {
  199. this.str = str;
  200. }
  201. public String getStr() {
  202. return str;
  203. }
  204. public void setStr(String str) {
  205. this.str = str;
  206. }
  207. @Override
  208. public String toString() {
  209. StringBuilder builder = new StringBuilder();
  210. builder.append("SimpleC [str=");
  211. builder.append(str);
  212. builder.append("] ");
  213. return builder.toString();
  214. }
  215. }