Mercurial > hg > Database > jungle-network
comparison src/jungle/test/functionalJava/ListTest.java @ 54:3d78d438f97b
add ListTest
author | one |
---|---|
date | Sun, 14 Jul 2013 17:21:37 +0900 |
parents | |
children | ccfe9b5e8f11 |
comparison
equal
deleted
inserted
replaced
53:f47a02368099 | 54:3d78d438f97b |
---|---|
1 package jungle.test.functionalJava; | |
2 | |
3 import java.util.Iterator; | |
4 | |
5 import fj.P2; | |
6 import fj.data.List; | |
7 | |
8 public class ListTest{ | |
9 | |
10 public static void main(String[] args) { | |
11 List<Integer> list = List.nil(); | |
12 list = list.cons(1); | |
13 list = list.cons(2); | |
14 list = list.cons(4); | |
15 System.out.println("list :"+list); | |
16 System.out.println("list.index(0) :"+list.index(0)); | |
17 System.out.println("list.head() :"+ list.head()); | |
18 System.out.println("list.tail() :"+list.tail()); | |
19 System.out.println("list.splitAt(2)"); | |
20 P2<List<Integer>, List<Integer>> p2 = list.splitAt(2); | |
21 List<Integer> list1 = p2._1(); | |
22 List<Integer> list2 = p2._2(); | |
23 System.out.println(list1); | |
24 System.out.println(list2); | |
25 | |
26 final int INSERT_NUM = 3; | |
27 list = insertInteger(list, INSERT_NUM); | |
28 System.out.println("newList :"+ list); | |
29 } | |
30 | |
31 public static List<Integer> insertInteger(List<Integer> list, final int insertNum) { | |
32 int count = 0; | |
33 for(Iterator<Integer> iter = list.iterator(); iter.hasNext();){ | |
34 int num = iter.next(); | |
35 if(insertNum > num ) { | |
36 break; | |
37 } | |
38 count++; | |
39 } | |
40 P2<List<Integer>, List<Integer>> p2 = list.splitAt(count); | |
41 List<Integer> newList = List.nil(); | |
42 newList = p2._2().cons(insertNum); | |
43 newList = p2._1().append(newList); | |
44 return newList; | |
45 } | |
46 | |
47 | |
48 } |