#24 arraylist finished - working on sets

오픈
jacob-andersen jacob-andersen/CR-MicroLabs-Generics-MyArrayList:master 에서 master 로 2 commits 를 머지하려 합니다

+ 1
- 0
.idea/.name 파일 보기

@@ -0,0 +1 @@
1
+generics

+ 16
- 0
.idea/compiler.xml 파일 보기

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="CompilerConfiguration">
4
+    <annotationProcessing>
5
+      <profile name="Maven default annotation processors profile" enabled="true">
6
+        <sourceOutputDir name="target/generated-sources/annotations" />
7
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8
+        <outputRelativeToContentRoot value="true" />
9
+        <module name="generics" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="generics" target="1.7" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml 파일 보기

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: junit:junit:4.12">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml 파일 보기

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/misc.xml 파일 보기

@@ -0,0 +1,13 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="MavenProjectsManager">
4
+    <option name="originalFiles">
5
+      <list>
6
+        <option value="$PROJECT_DIR$/pom.xml" />
7
+      </list>
8
+    </option>
9
+  </component>
10
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
13
+</project>

+ 8
- 0
.idea/modules.xml 파일 보기

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/generics.iml" filepath="$PROJECT_DIR$/generics.iml" />
6
+    </modules>
7
+  </component>
8
+</project>

+ 6
- 0
.idea/vcs.xml 파일 보기

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+  </component>
6
+</project>

+ 439
- 0
.idea/workspace.xml 파일 보기

@@ -0,0 +1,439 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="39145ab9-fd44-4f67-802b-bf742dac378f" name="Default Changelist" comment="" />
5
+    <ignored path="$PROJECT_DIR$/target/" />
6
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
7
+    <option name="SHOW_DIALOG" value="false" />
8
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
9
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
10
+    <option name="LAST_RESOLUTION" value="IGNORE" />
11
+  </component>
12
+  <component name="CoverageDataManager">
13
+    <SUITE FILE_PATH="coverage/generics$MyArrayListTest.ic" NAME="MyArrayListTest Coverage Results" MODIFIED="1542751352044" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
14
+    <SUITE FILE_PATH="coverage/generics$MyArrayListTest_addTest.ic" NAME="MyArrayListTest.addTest Coverage Results" MODIFIED="1542730582418" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
15
+    <SUITE FILE_PATH="coverage/generics$MyArrayListTest_getTest.ic" NAME="MyArrayListTest.getTest Coverage Results" MODIFIED="1542748413843" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
16
+    <SUITE FILE_PATH="coverage/generics$MyArrayListTest_isEmptyTest.ic" NAME="MyArrayListTest.isEmptyTest Coverage Results" MODIFIED="1542652661295" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
17
+  </component>
18
+  <component name="CoverageViewManager">
19
+    <option name="myElementSize" value="152" />
20
+  </component>
21
+  <component name="FUSProjectUsageTrigger">
22
+    <session id="1814500152">
23
+      <usages-collector id="statistics.lifecycle.project">
24
+        <counts>
25
+          <entry key="project.closed" value="10" />
26
+          <entry key="project.open.time.0" value="3" />
27
+          <entry key="project.open.time.1" value="4" />
28
+          <entry key="project.open.time.2" value="2" />
29
+          <entry key="project.open.time.3" value="1" />
30
+          <entry key="project.open.time.5" value="1" />
31
+          <entry key="project.opened" value="11" />
32
+        </counts>
33
+      </usages-collector>
34
+      <usages-collector id="statistics.file.types.open">
35
+        <counts>
36
+          <entry key="CLASS" value="11" />
37
+          <entry key="JAVA" value="5" />
38
+          <entry key="XML" value="2" />
39
+        </counts>
40
+      </usages-collector>
41
+      <usages-collector id="statistics.js.language.service.starts" />
42
+      <usages-collector id="statistics.vcs.git.usages" />
43
+      <usages-collector id="statistics.spring.boot.mvc.usages" />
44
+      <usages-collector id="statistics.spring.boot.run.usages" />
45
+      <usages-collector id="statistics.file.types.edit">
46
+        <counts>
47
+          <entry key="JAVA" value="4909" />
48
+        </counts>
49
+      </usages-collector>
50
+      <usages-collector id="statistics.file.extensions.open">
51
+        <counts>
52
+          <entry key="class" value="11" />
53
+          <entry key="java" value="5" />
54
+          <entry key="xml" value="2" />
55
+        </counts>
56
+      </usages-collector>
57
+      <usages-collector id="statistics.file.extensions.edit">
58
+        <counts>
59
+          <entry key="java" value="4909" />
60
+        </counts>
61
+      </usages-collector>
62
+    </session>
63
+  </component>
64
+  <component name="FileEditorManager">
65
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
66
+      <file pinned="false" current-in-tab="false">
67
+        <entry file="file://$PROJECT_DIR$/src/main/java/MyArrayList.java">
68
+          <provider selected="true" editor-type-id="text-editor">
69
+            <state relative-caret-position="-282">
70
+              <caret line="62" column="13" selection-start-line="62" selection-start-column="13" selection-end-line="62" selection-end-column="13" />
71
+              <folding>
72
+                <element signature="imports" expanded="true" />
73
+                <element signature="e#202#203#0" expanded="true" />
74
+                <element signature="e#221#222#0" expanded="true" />
75
+                <element signature="e#406#407#0" expanded="true" />
76
+                <element signature="e#446#447#0" expanded="true" />
77
+                <element signature="e#526#527#0" expanded="true" />
78
+                <element signature="e#555#556#0" expanded="true" />
79
+                <element signature="e#1362#1363#0" expanded="true" />
80
+                <element signature="e#1391#1392#0" expanded="true" />
81
+                <element signature="e#1434#1435#0" expanded="true" />
82
+                <element signature="e#1462#1463#0" expanded="true" />
83
+              </folding>
84
+            </state>
85
+          </provider>
86
+        </entry>
87
+      </file>
88
+      <file pinned="false" current-in-tab="true">
89
+        <entry file="file://$PROJECT_DIR$/src/test/java/MyArrayListTest.java">
90
+          <provider selected="true" editor-type-id="text-editor">
91
+            <state relative-caret-position="390">
92
+              <caret line="26" column="56" selection-start-line="26" selection-start-column="56" selection-end-line="26" selection-end-column="56" />
93
+              <folding>
94
+                <element signature="imports" expanded="true" />
95
+              </folding>
96
+            </state>
97
+          </provider>
98
+        </entry>
99
+      </file>
100
+    </leaf>
101
+  </component>
102
+  <component name="FileTemplateManagerImpl">
103
+    <option name="RECENT_TEMPLATES">
104
+      <list>
105
+        <option value="Class" />
106
+      </list>
107
+    </option>
108
+  </component>
109
+  <component name="Git.Settings">
110
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
111
+  </component>
112
+  <component name="IdeDocumentHistory">
113
+    <option name="CHANGED_PATHS">
114
+      <list>
115
+        <option value="$PROJECT_DIR$/pom.xml" />
116
+        <option value="$PROJECT_DIR$/src/main/java/MyArrayList.java" />
117
+        <option value="$PROJECT_DIR$/src/test/java/MyArrayListTest.java" />
118
+      </list>
119
+    </option>
120
+  </component>
121
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
122
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
123
+  <component name="JsGulpfileManager">
124
+    <detection-done>true</detection-done>
125
+    <sorting>DEFINITION_ORDER</sorting>
126
+  </component>
127
+  <component name="MavenImportPreferences">
128
+    <option name="importingSettings">
129
+      <MavenImportingSettings>
130
+        <option name="importAutomatically" value="true" />
131
+      </MavenImportingSettings>
132
+    </option>
133
+  </component>
134
+  <component name="ProjectFrameBounds" fullScreen="true">
135
+    <option name="y" value="-1080" />
136
+    <option name="width" value="1920" />
137
+    <option name="height" value="1080" />
138
+  </component>
139
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
140
+  <component name="ProjectView">
141
+    <navigator proportions="" version="1">
142
+      <foldersAlwaysOnTop value="true" />
143
+    </navigator>
144
+    <panes>
145
+      <pane id="Scope" />
146
+      <pane id="PackagesPane" />
147
+      <pane id="ProjectPane">
148
+        <subPane>
149
+          <expand>
150
+            <path>
151
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
152
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
153
+            </path>
154
+            <path>
155
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
156
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
157
+              <item name="src" type="462c0819:PsiDirectoryNode" />
158
+            </path>
159
+            <path>
160
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
161
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
162
+              <item name="src" type="462c0819:PsiDirectoryNode" />
163
+              <item name="main" type="462c0819:PsiDirectoryNode" />
164
+            </path>
165
+            <path>
166
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
167
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
168
+              <item name="src" type="462c0819:PsiDirectoryNode" />
169
+              <item name="main" type="462c0819:PsiDirectoryNode" />
170
+              <item name="java" type="462c0819:PsiDirectoryNode" />
171
+            </path>
172
+            <path>
173
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
174
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
175
+              <item name="src" type="462c0819:PsiDirectoryNode" />
176
+              <item name="test" type="462c0819:PsiDirectoryNode" />
177
+            </path>
178
+            <path>
179
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
180
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
181
+              <item name="src" type="462c0819:PsiDirectoryNode" />
182
+              <item name="test" type="462c0819:PsiDirectoryNode" />
183
+              <item name="java" type="462c0819:PsiDirectoryNode" />
184
+            </path>
185
+          </expand>
186
+          <select />
187
+        </subPane>
188
+      </pane>
189
+    </panes>
190
+  </component>
191
+  <component name="PropertiesComponent">
192
+    <property name="WebServerToolWindowFactoryState" value="false" />
193
+    <property name="aspect.path.notification.shown" value="true" />
194
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1542751350772" />
195
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" />
196
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
197
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
198
+  </component>
199
+  <component name="RunDashboard">
200
+    <option name="ruleStates">
201
+      <list>
202
+        <RuleState>
203
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
204
+        </RuleState>
205
+        <RuleState>
206
+          <option name="name" value="StatusDashboardGroupingRule" />
207
+        </RuleState>
208
+      </list>
209
+    </option>
210
+  </component>
211
+  <component name="RunManager" selected="JUnit.MyArrayListTest">
212
+    <configuration name="MyArrayListTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
213
+      <module name="generics" />
214
+      <option name="PACKAGE_NAME" value="" />
215
+      <option name="MAIN_CLASS_NAME" value="MyArrayListTest" />
216
+      <method v="2">
217
+        <option name="Make" enabled="true" />
218
+      </method>
219
+    </configuration>
220
+    <configuration name="MyArrayListTest.addTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
221
+      <module name="generics" />
222
+      <option name="PACKAGE_NAME" value="" />
223
+      <option name="MAIN_CLASS_NAME" value="MyArrayListTest" />
224
+      <option name="METHOD_NAME" value="addTest" />
225
+      <option name="TEST_OBJECT" value="method" />
226
+      <method v="2">
227
+        <option name="Make" enabled="true" />
228
+      </method>
229
+    </configuration>
230
+    <configuration name="MyArrayListTest.getTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
231
+      <module name="generics" />
232
+      <option name="PACKAGE_NAME" value="" />
233
+      <option name="MAIN_CLASS_NAME" value="MyArrayListTest" />
234
+      <option name="METHOD_NAME" value="getTest" />
235
+      <option name="TEST_OBJECT" value="method" />
236
+      <method v="2">
237
+        <option name="Make" enabled="true" />
238
+      </method>
239
+    </configuration>
240
+    <configuration name="MyArrayListTest.isEmptyTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
241
+      <module name="generics" />
242
+      <option name="PACKAGE_NAME" value="" />
243
+      <option name="MAIN_CLASS_NAME" value="MyArrayListTest" />
244
+      <option name="METHOD_NAME" value="isEmptyTest" />
245
+      <option name="TEST_OBJECT" value="method" />
246
+      <method v="2">
247
+        <option name="Make" enabled="true" />
248
+      </method>
249
+    </configuration>
250
+    <list>
251
+      <item itemvalue="JUnit.MyArrayListTest" />
252
+      <item itemvalue="JUnit.MyArrayListTest.isEmptyTest" />
253
+      <item itemvalue="JUnit.MyArrayListTest.addTest" />
254
+      <item itemvalue="JUnit.MyArrayListTest.getTest" />
255
+    </list>
256
+    <recent_temporary>
257
+      <list>
258
+        <item itemvalue="JUnit.MyArrayListTest" />
259
+        <item itemvalue="JUnit.MyArrayListTest.getTest" />
260
+        <item itemvalue="JUnit.MyArrayListTest.addTest" />
261
+        <item itemvalue="JUnit.MyArrayListTest.isEmptyTest" />
262
+      </list>
263
+    </recent_temporary>
264
+  </component>
265
+  <component name="SvnConfiguration">
266
+    <configuration />
267
+  </component>
268
+  <component name="TaskManager">
269
+    <task active="true" id="Default" summary="Default task">
270
+      <changelist id="39145ab9-fd44-4f67-802b-bf742dac378f" name="Default Changelist" comment="" />
271
+      <created>1542146316892</created>
272
+      <option name="number" value="Default" />
273
+      <option name="presentableId" value="Default" />
274
+      <updated>1542146316892</updated>
275
+      <workItem from="1542146318296" duration="103000" />
276
+      <workItem from="1542146668851" duration="3922000" />
277
+      <workItem from="1542218568757" duration="5000" />
278
+      <workItem from="1542218731672" duration="251000" />
279
+      <workItem from="1542226176182" duration="941000" />
280
+      <workItem from="1542327238676" duration="529000" />
281
+      <workItem from="1542374524937" duration="5738000" />
282
+      <workItem from="1542415574399" duration="920000" />
283
+      <workItem from="1542502906234" duration="2774000" />
284
+      <workItem from="1542633995805" duration="8303000" />
285
+      <workItem from="1542726706465" duration="18090000" />
286
+    </task>
287
+    <servers />
288
+  </component>
289
+  <component name="TestHistory">
290
+    <history-entry file="MyArrayListTest_getTest - 2018.11.20 at 16h 13m 36s.xml">
291
+      <configuration name="MyArrayListTest.getTest" configurationId="JUnit" />
292
+    </history-entry>
293
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 13m 53s.xml">
294
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
295
+    </history-entry>
296
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 14m 24s.xml">
297
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
298
+    </history-entry>
299
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 22m 24s.xml">
300
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
301
+    </history-entry>
302
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 48m 07s.xml">
303
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
304
+    </history-entry>
305
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 53m 07s.xml">
306
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
307
+    </history-entry>
308
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 54m 19s.xml">
309
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
310
+    </history-entry>
311
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 54m 57s.xml">
312
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
313
+    </history-entry>
314
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 55m 16s.xml">
315
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
316
+    </history-entry>
317
+    <history-entry file="MyArrayListTest - 2018.11.20 at 16h 55m 45s.xml">
318
+      <configuration name="MyArrayListTest" configurationId="JUnit" />
319
+    </history-entry>
320
+  </component>
321
+  <component name="TimeTrackingManager">
322
+    <option name="totallyTimeSpent" value="41576000" />
323
+  </component>
324
+  <component name="ToolWindowManager">
325
+    <frame x="0" y="-1080" width="1920" height="1080" extended-state="0" />
326
+    <editor active="true" />
327
+    <layout>
328
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.14589989" />
329
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
330
+      <window_info id="Image Layers" order="2" />
331
+      <window_info id="Designer" order="3" />
332
+      <window_info id="UI Designer" order="4" />
333
+      <window_info id="Capture Tool" order="5" />
334
+      <window_info id="Favorites" order="6" side_tool="true" />
335
+      <window_info anchor="bottom" id="Message" order="0" />
336
+      <window_info anchor="bottom" id="Find" order="1" />
337
+      <window_info anchor="bottom" id="Run" order="2" weight="0.24752475" />
338
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
339
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
340
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
341
+      <window_info anchor="bottom" id="TODO" order="6" />
342
+      <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
343
+      <window_info anchor="bottom" id="Terminal" order="8" />
344
+      <window_info anchor="bottom" id="Event Log" order="9" side_tool="true" />
345
+      <window_info anchor="bottom" id="Version Control" order="10" show_stripe_button="false" />
346
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.629703" />
347
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
348
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
349
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
350
+      <window_info anchor="right" id="Palette" order="3" />
351
+      <window_info anchor="right" id="Capture Analysis" order="4" />
352
+      <window_info anchor="right" id="Theme Preview" order="5" />
353
+      <window_info anchor="right" id="Palette&#9;" order="6" />
354
+      <window_info anchor="right" id="Database" order="7" />
355
+      <window_info anchor="right" id="Maven Projects" order="8" />
356
+      <window_info active="true" anchor="right" id="Coverage" order="9" side_tool="true" visible="true" weight="0.21671991" />
357
+    </layout>
358
+  </component>
359
+  <component name="TypeScriptGeneratedFilesManager">
360
+    <option name="version" value="1" />
361
+  </component>
362
+  <component name="VcsContentAnnotationSettings">
363
+    <option name="myLimit" value="2678400000" />
364
+  </component>
365
+  <component name="XDebuggerManager">
366
+    <breakpoint-manager>
367
+      <breakpoints>
368
+        <line-breakpoint enabled="true" type="java-method">
369
+          <url>file://$PROJECT_DIR$/src/main/java/MyArrayList.java</url>
370
+          <line>41</line>
371
+          <properties class="MyArrayList" method="add">
372
+            <option name="EMULATED" value="true" />
373
+          </properties>
374
+          <option name="timeStamp" value="8" />
375
+        </line-breakpoint>
376
+      </breakpoints>
377
+    </breakpoint-manager>
378
+  </component>
379
+  <component name="editorHistoryManager">
380
+    <entry file="file://$PROJECT_DIR$/pom.xml">
381
+      <provider selected="true" editor-type-id="text-editor">
382
+        <state relative-caret-position="420">
383
+          <caret line="28" column="4" selection-start-line="28" selection-start-column="4" selection-end-line="28" selection-end-column="4" />
384
+        </state>
385
+      </provider>
386
+    </entry>
387
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/runners/ParentRunner.class">
388
+      <provider selected="true" editor-type-id="text-editor">
389
+        <state relative-caret-position="193">
390
+          <caret line="202" selection-start-line="202" selection-end-line="202" />
391
+        </state>
392
+      </provider>
393
+    </entry>
394
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/runners/model/FrameworkMethod.class">
395
+      <provider selected="true" editor-type-id="text-editor">
396
+        <state relative-caret-position="315">
397
+          <caret line="31" selection-start-line="31" selection-end-line="31" />
398
+        </state>
399
+      </provider>
400
+    </entry>
401
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/org/junit/internal/runners/model/ReflectiveCallable.class">
402
+      <provider selected="true" editor-type-id="text-editor">
403
+        <state relative-caret-position="195">
404
+          <caret line="16" selection-start-line="16" selection-end-line="16" />
405
+        </state>
406
+      </provider>
407
+    </entry>
408
+    <entry file="file://$PROJECT_DIR$/src/main/java/MyArrayList.java">
409
+      <provider selected="true" editor-type-id="text-editor">
410
+        <state relative-caret-position="-282">
411
+          <caret line="62" column="13" selection-start-line="62" selection-start-column="13" selection-end-line="62" selection-end-column="13" />
412
+          <folding>
413
+            <element signature="imports" expanded="true" />
414
+            <element signature="e#202#203#0" expanded="true" />
415
+            <element signature="e#221#222#0" expanded="true" />
416
+            <element signature="e#406#407#0" expanded="true" />
417
+            <element signature="e#446#447#0" expanded="true" />
418
+            <element signature="e#526#527#0" expanded="true" />
419
+            <element signature="e#555#556#0" expanded="true" />
420
+            <element signature="e#1362#1363#0" expanded="true" />
421
+            <element signature="e#1391#1392#0" expanded="true" />
422
+            <element signature="e#1434#1435#0" expanded="true" />
423
+            <element signature="e#1462#1463#0" expanded="true" />
424
+          </folding>
425
+        </state>
426
+      </provider>
427
+    </entry>
428
+    <entry file="file://$PROJECT_DIR$/src/test/java/MyArrayListTest.java">
429
+      <provider selected="true" editor-type-id="text-editor">
430
+        <state relative-caret-position="390">
431
+          <caret line="26" column="56" selection-start-line="26" selection-start-column="56" selection-end-line="26" selection-end-column="56" />
432
+          <folding>
433
+            <element signature="imports" expanded="true" />
434
+          </folding>
435
+        </state>
436
+      </provider>
437
+    </entry>
438
+  </component>
439
+</project>

+ 16
- 0
generics.iml 파일 보기

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
9
+      <excludeFolder url="file://$MODULE_DIR$/target" />
10
+    </content>
11
+    <orderEntry type="inheritedJdk" />
12
+    <orderEntry type="sourceFolder" forTests="false" />
13
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
14
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15
+  </component>
16
+</module>

+ 2
- 3
pom.xml 파일 보기

@@ -20,12 +20,11 @@
20 20
         </plugins>
21 21
     </build>
22 22
     <dependencies>
23
-
24
-
25 23
         <dependency>
26 24
             <groupId>junit</groupId>
27 25
             <artifactId>junit</artifactId>
28
-            <version>RELEASE</version>
26
+            <version>4.12</version>
27
+            <scope>test</scope>
29 28
         </dependency>
30 29
     </dependencies>
31 30
 

+ 140
- 0
src/main/java/MyArrayList.java 파일 보기

@@ -0,0 +1,140 @@
1
+import java.lang.reflect.Array;
2
+import java.util.Arrays;
3
+
4
+public class MyArrayList <T>
5
+{
6
+    private T []arr;
7
+    private int actualsize=0;
8
+
9
+    public MyArrayList()
10
+    {
11
+        this(10);
12
+    }
13
+
14
+    public MyArrayList(int length)
15
+    {
16
+        arr = (T[])new Object[length];
17
+    }
18
+
19
+    public int size ()
20
+    {
21
+    return actualsize;
22
+    }
23
+
24
+    public void add(T e)
25
+    {
26
+        if (actualsize==arr.length)
27
+        {
28
+            Object[]temp=new Object[arr.length+1];
29
+            for (int i=0;i<arr.length;i++)
30
+            {
31
+                temp[i]=arr[i];
32
+            }
33
+
34
+            arr=(T[])temp;
35
+        }
36
+        arr[actualsize]=e;
37
+        actualsize++;
38
+    }
39
+
40
+
41
+
42
+    public void add(int index, T e)
43
+    {
44
+            //if (actualsize==arr.length)
45
+            //{
46
+                Object[] temp = new Object[arr.length + 1];
47
+                for (int i = 0; i < arr.length; i++)
48
+                {
49
+                    temp[i] = arr[i];
50
+                }
51
+
52
+                for(int i=0;i<index;i++)
53
+                {
54
+                    temp[i]=arr[i];
55
+                }
56
+                temp[index]=e;
57
+                for (int i=index+1;i<arr.length;i++)
58
+                {
59
+                    temp[i]=arr[i-1];
60
+                }
61
+                arr = (T[]) temp;
62
+                actualsize++;
63
+            }
64
+
65
+
66
+
67
+    public T get(int index)
68
+    {
69
+    return arr[index];
70
+    }
71
+
72
+    public void set(int index, T e)
73
+    {
74
+        arr[index]=e;
75
+    }
76
+
77
+    public void clear()
78
+    {
79
+        for (int i=0;i<arr.length-1;i++)
80
+        {
81
+            arr[i]=null;
82
+        }
83
+        actualsize=0;
84
+    }
85
+
86
+    public boolean isEmpty()
87
+    { for(int i=0;i<arr.length;i++)
88
+    {
89
+      if (actualsize==0)
90
+      {
91
+          return true;
92
+      }
93
+    }
94
+    return false;
95
+    }
96
+
97
+    public boolean contains(T e)
98
+    {
99
+        for (int i=0;i<arr.length-1;i++)
100
+        {
101
+            if (arr[i]==e)
102
+            {
103
+                return true;
104
+            }
105
+        }
106
+        return false;
107
+    }
108
+
109
+    public void remove(T e) {
110
+        {
111
+            int count=0;
112
+            Object[] temp = new Object[arr.length - 1];
113
+            for (int i = 0; i < actualsize; i++) {
114
+                if (!arr[i].equals(e))
115
+                {
116
+                    temp[count] = arr[i];
117
+                    count++;
118
+                }
119
+            }
120
+            arr = (T[])temp;
121
+            actualsize--;
122
+        }
123
+    }
124
+
125
+    public void remove(int index, T e)
126
+    {
127
+        int count=0;
128
+        Object[] temp = new Object[arr.length - 1];
129
+        for (int i = 0; i < actualsize; i++) {
130
+            if (index!=i)
131
+            {
132
+                temp[count] = arr[i];
133
+                count++;
134
+            }
135
+        }
136
+        arr = (T[]) temp;
137
+        actualsize--;
138
+    }
139
+
140
+}

+ 183
- 0
src/test/java/MyArrayListTest.java 파일 보기

@@ -0,0 +1,183 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+public class MyArrayListTest {
5
+    @Test
6
+    public void addTest()
7
+    {
8
+        //Given
9
+
10
+        MyArrayList <String> newlist = new MyArrayList(2);
11
+
12
+        //When
13
+        newlist.add("eric");
14
+        newlist.add("benny");
15
+        newlist.add("johnny");
16
+        newlist.add("iglesias");
17
+
18
+        //Then
19
+
20
+        String expected = "iglesias";
21
+        String actual = newlist.get(3);
22
+        Assert.assertEquals(expected,actual);
23
+    }
24
+    @Test
25
+    public void addAtIndexTest()
26
+    {
27
+        MyArrayList <String> newlist = new MyArrayList(3);
28
+        newlist.add(0,"elephant");
29
+        newlist.add(1,"giraffe");
30
+        newlist.add(2,"tiger");
31
+        newlist.add(3,"gazelle");
32
+
33
+        String expected = "elephant";
34
+        String actual = newlist.get(0);
35
+
36
+        Assert.assertEquals(expected,actual);
37
+    }
38
+    @Test
39
+    public void removeTest()
40
+    {
41
+        MyArrayList <String> newlist = new MyArrayList();
42
+
43
+        //When
44
+        newlist.add("eric");
45
+        newlist.add("benny");
46
+        newlist.add("johnny");
47
+        newlist.add("iglesias");
48
+        newlist.remove("benny");
49
+        //Then
50
+
51
+        boolean expected = false;
52
+        boolean actual = newlist.contains("benny");
53
+        Assert.assertEquals(expected,actual);
54
+    }
55
+
56
+    @Test
57
+    public void removeWithIndexTest()
58
+    {
59
+        MyArrayList <String> newlist = new MyArrayList();
60
+
61
+        //When
62
+        newlist.add("eric");
63
+        newlist.add("benny");
64
+        newlist.add("johnny");
65
+        newlist.add("iglesias");
66
+        newlist.remove(2,"johnny");
67
+        //Then
68
+
69
+        boolean expected = false;
70
+        boolean actual = newlist.contains("johnny");
71
+        Assert.assertEquals(expected,actual);
72
+    }
73
+
74
+
75
+
76
+    @Test
77
+        public void sizeTest()
78
+        {
79
+            MyArrayList <String> newlist = new MyArrayList();
80
+            newlist.add("elephant");
81
+
82
+            int expected = 1;
83
+            int actual = newlist.size();
84
+
85
+            Assert.assertEquals(expected,actual);
86
+        }
87
+
88
+        @Test
89
+    public void setTest()
90
+        {
91
+            MyArrayList <String> newlist = new MyArrayList();
92
+            newlist.set(0,"elephant");
93
+
94
+            String expected = "elephant";
95
+            String actual = newlist.get(0);
96
+
97
+            Assert.assertEquals(expected,actual);
98
+        }
99
+
100
+        @Test
101
+    public void getTest()
102
+        {
103
+            MyArrayList <String> newlist = new MyArrayList();
104
+            newlist.add("elephant");
105
+
106
+            String expected = "elephant";
107
+            String actual = newlist.get(0);
108
+
109
+            Assert.assertEquals(expected,actual);
110
+        }
111
+
112
+        @Test
113
+    public void clearTest()
114
+        {
115
+            MyArrayList <Integer> newlist = new MyArrayList();
116
+            for (int i=0; i<10;i++)
117
+            {
118
+                newlist.add(i);
119
+            }
120
+
121
+            newlist.clear();
122
+
123
+            int expected = 0;
124
+            int actual = newlist.size();
125
+
126
+            Assert.assertEquals(expected,actual);
127
+        }
128
+
129
+        @Test
130
+    public void isEmptyFalseTest()
131
+        {
132
+            MyArrayList <Integer> newlist = new MyArrayList();
133
+            newlist.add(23);
134
+
135
+            boolean expected = false;
136
+            boolean actual = newlist.isEmpty();
137
+
138
+            Assert.assertEquals(expected,actual);
139
+        }
140
+
141
+    @Test
142
+    public void isEmptyTrueTest()
143
+    {
144
+        MyArrayList <Integer> newlist = new MyArrayList();
145
+        newlist.add(23);
146
+        newlist.remove(23);
147
+
148
+        boolean expected = true;
149
+        boolean actual = newlist.isEmpty();
150
+
151
+        Assert.assertEquals(expected,actual);
152
+    }
153
+
154
+
155
+
156
+        @Test
157
+    public void containsTest()
158
+        {
159
+            MyArrayList <String> newlist = new MyArrayList();
160
+            newlist.add("elephant");
161
+
162
+            boolean expected = true;
163
+            boolean actual = newlist.contains("elephant");
164
+
165
+            Assert.assertEquals(expected,actual);
166
+        }
167
+
168
+        @Test
169
+    public void myArrayListLengthTest()
170
+        {
171
+            MyArrayList <String> newlist = new MyArrayList(5);
172
+            newlist.add("elephant");
173
+            newlist.add("eric");
174
+            newlist.add("jenga");
175
+
176
+            int expected = 3;
177
+            int actual = newlist.size();
178
+
179
+            Assert.assertEquals(expected,actual);
180
+        }
181
+}
182
+
183
+