Java Reference
In-Depth Information
19 System.out.println("overlap = " + common);
20 }
21
22
public static
ArrayList<String> getWords(Scanner input) {
23 // read all words and sort
24 ArrayList<String> words =
new
ArrayList<String>();
25
while
(input.hasNext()) {
26 String next = input.next().toLowerCase();
27 words.add(next);
28 }
29 Collections.sort(words);
30
31 // add unique words to new list and return
32 ArrayList<String> result =
new
ArrayList<String>();
33
if
(words.size() > 0) {
34 result.add(words.get(0));
35
for
(
int
i = 1; i < words.size(); i++) {
36
if
(!words.get(i).equals(words.get(i - 1))) {
37 result.add(words.get(i));
38 }
39 }
40 }
41
return
result;
42 }
43
44
public static
ArrayList<String> getOverlap(
45 ArrayList<String> list1, ArrayList<String> list2) {
46 ArrayList<String> result =
new
ArrayList<String>();
47
int
i1 = 0;
48
int
i2 = 0;
49
while
(i1 < list1.size() && i2 < list2.size()) {
50
int
num = list1.get(i1).compareTo(list2.get(i2));
51
if
(num == 0) {
52 result.add(list1.get(i1));
53 i1++;
54 i2++;
55 }
else if
(num < 0) {
56 i1++;
57 }
else
{ // num > 0
58 i2++;
59 }
60 }
61
return
result;
62 }
63 }
Search WWH ::
Custom Search