annotate src/test/java/alice/jungle/log/example/ListTest.java @ 195:82698be06c6c default tip

change index TreeMap
author tatsuki
date Tue, 28 Apr 2015 07:51:41 +0900
parents 6e7724d55a72
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
f9e29a52efd3 Move some files
one
parents: 82
diff changeset
1 package alice.jungle.log.example;
54
3d78d438f97b add ListTest
one
parents:
diff changeset
2
3d78d438f97b add ListTest
one
parents:
diff changeset
3 import java.util.Iterator;
3d78d438f97b add ListTest
one
parents:
diff changeset
4
3d78d438f97b add ListTest
one
parents:
diff changeset
5 import fj.P2;
3d78d438f97b add ListTest
one
parents:
diff changeset
6 import fj.data.List;
3d78d438f97b add ListTest
one
parents:
diff changeset
7
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
8 public class ListTest {
54
3d78d438f97b add ListTest
one
parents:
diff changeset
9
3d78d438f97b add ListTest
one
parents:
diff changeset
10 public static void main(String[] args) {
3d78d438f97b add ListTest
one
parents:
diff changeset
11 List<Integer> list = List.nil();
3d78d438f97b add ListTest
one
parents:
diff changeset
12 list = list.cons(2);
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
13 list = list.cons(3);
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
14 list = list.cons(5);
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
15 list = list.snoc(1);
54
3d78d438f97b add ListTest
one
parents:
diff changeset
16 System.out.println("list :"+list);
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
17 System.out.println("list.reverse() :"+list.reverse());
54
3d78d438f97b add ListTest
one
parents:
diff changeset
18 System.out.println("list.index(0) :"+list.index(0));
3d78d438f97b add ListTest
one
parents:
diff changeset
19 System.out.println("list.head() :"+ list.head());
3d78d438f97b add ListTest
one
parents:
diff changeset
20 System.out.println("list.tail() :"+list.tail());
3d78d438f97b add ListTest
one
parents:
diff changeset
21 System.out.println("list.splitAt(2)");
3d78d438f97b add ListTest
one
parents:
diff changeset
22 P2<List<Integer>, List<Integer>> p2 = list.splitAt(2);
3d78d438f97b add ListTest
one
parents:
diff changeset
23 List<Integer> list1 = p2._1();
3d78d438f97b add ListTest
one
parents:
diff changeset
24 List<Integer> list2 = p2._2();
3d78d438f97b add ListTest
one
parents:
diff changeset
25 System.out.println(list1);
3d78d438f97b add ListTest
one
parents:
diff changeset
26 System.out.println(list2);
3d78d438f97b add ListTest
one
parents:
diff changeset
27
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
28 final int INSERT_NUM = 4;
54
3d78d438f97b add ListTest
one
parents:
diff changeset
29 list = insertInteger(list, INSERT_NUM);
3d78d438f97b add ListTest
one
parents:
diff changeset
30 System.out.println("newList :"+ list);
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
31
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
32
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 54
diff changeset
33
54
3d78d438f97b add ListTest
one
parents:
diff changeset
34 }
3d78d438f97b add ListTest
one
parents:
diff changeset
35
3d78d438f97b add ListTest
one
parents:
diff changeset
36 public static List<Integer> insertInteger(List<Integer> list, final int insertNum) {
3d78d438f97b add ListTest
one
parents:
diff changeset
37 int count = 0;
3d78d438f97b add ListTest
one
parents:
diff changeset
38 for(Iterator<Integer> iter = list.iterator(); iter.hasNext();){
3d78d438f97b add ListTest
one
parents:
diff changeset
39 int num = iter.next();
3d78d438f97b add ListTest
one
parents:
diff changeset
40 if(insertNum > num ) {
3d78d438f97b add ListTest
one
parents:
diff changeset
41 break;
3d78d438f97b add ListTest
one
parents:
diff changeset
42 }
3d78d438f97b add ListTest
one
parents:
diff changeset
43 count++;
3d78d438f97b add ListTest
one
parents:
diff changeset
44 }
3d78d438f97b add ListTest
one
parents:
diff changeset
45 P2<List<Integer>, List<Integer>> p2 = list.splitAt(count);
3d78d438f97b add ListTest
one
parents:
diff changeset
46 List<Integer> newList = List.nil();
3d78d438f97b add ListTest
one
parents:
diff changeset
47 newList = p2._2().cons(insertNum);
3d78d438f97b add ListTest
one
parents:
diff changeset
48 newList = p2._1().append(newList);
3d78d438f97b add ListTest
one
parents:
diff changeset
49 return newList;
3d78d438f97b add ListTest
one
parents:
diff changeset
50 }
3d78d438f97b add ListTest
one
parents:
diff changeset
51
3d78d438f97b add ListTest
one
parents:
diff changeset
52
3d78d438f97b add ListTest
one
parents:
diff changeset
53 }