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