Advertisement
swen922

Untitled

May 3rd, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. package com.javarush.task.task20.task2028;
  2.  
  3. import java.io.Serializable;
  4. import java.util.AbstractList;
  5. import java.util.Collection;
  6. import java.util.List;
  7.  
  8.  
  9. /*
  10. Построй дерево(1)
  11. */
  12. public class CustomTree extends AbstractList<String> implements Cloneable, Serializable {
  13.  
  14. Entry<String> root;
  15.  
  16. @Override
  17. public String get(int index) {
  18. throw new UnsupportedOperationException();
  19. }
  20.  
  21. @Override
  22. public int size() {
  23. return 0;
  24. }
  25.  
  26. @Override
  27. public String set(int index, String element) {
  28. throw new UnsupportedOperationException();
  29. }
  30.  
  31. @Override
  32. public void add(int index, String element) {
  33. throw new UnsupportedOperationException();
  34. }
  35.  
  36. @Override
  37. public String remove(int index) {
  38. throw new UnsupportedOperationException();
  39. }
  40.  
  41. @Override
  42. public List<String> subList(int fromIndex, int toIndex) {
  43. throw new UnsupportedOperationException();
  44. }
  45.  
  46. @Override
  47. protected void removeRange(int fromIndex, int toIndex) {
  48. throw new UnsupportedOperationException();
  49. }
  50.  
  51. @Override
  52. public boolean addAll(int index, Collection<? extends String> c) {
  53. throw new UnsupportedOperationException();
  54. }
  55.  
  56.  
  57. static class Entry<T> implements Serializable {
  58.  
  59. String elementName;
  60. int lineNumber;
  61. boolean availableToAddLeftChildren;
  62. boolean availableToAddRightChildren;
  63. Entry<T> parent;
  64. Entry<T> leftChild;
  65. Entry<T> rightChild;
  66.  
  67. public Entry(String e) {
  68. elementName = e;
  69. availableToAddLeftChildren = true;
  70. availableToAddRightChildren = true;
  71. }
  72.  
  73. public void checkChildren() {
  74. if (leftChild != null) {
  75. availableToAddLeftChildren = false;
  76. }
  77. if (rightChild != null) {
  78. availableToAddRightChildren = false;
  79. }
  80. }
  81.  
  82. public boolean isAvailableToAddChildren() {
  83. return (availableToAddLeftChildren || availableToAddRightChildren);
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement