Skip to content

Commit eab2471

Browse files
author
chenweijie
committed
添加split工具类
1 parent 50d36d5 commit eab2471

File tree

5 files changed

+274
-0
lines changed

5 files changed

+274
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package com.chen.algorithm;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* @author : chen weijie
8+
* @Date: 2019-05-08 16:54
9+
*/
10+
public class SplitList {
11+
12+
13+
public static <T> List<List<T>> partList(List<T> source, int n) {
14+
15+
if (source == null) {
16+
return null;
17+
}
18+
19+
if (n == 0) {
20+
return null;
21+
}
22+
List<List<T>> result = new ArrayList<List<T>>();
23+
// 集合长度
24+
int size = source.size();
25+
// 余数
26+
int remaider = size % n;
27+
System.out.println("余数:" + remaider);
28+
// 商
29+
int number = size / n;
30+
System.out.println("商:" + number);
31+
32+
for (int i = 0; i < number; i++) {
33+
List<T> value = source.subList(i * n, (i + 1) * n);
34+
result.add(value);
35+
}
36+
37+
if (remaider > 0) {
38+
List<T> subList = source.subList(size - remaider, size);
39+
result.add(subList);
40+
}
41+
return result;
42+
43+
44+
}
45+
46+
/**
47+
* 将待邀请的成员列表分成n个组
48+
*
49+
* @param source
50+
* @param n
51+
* @return
52+
*/
53+
private <T>List<List<T>> splitList(List<T> source, int n) {
54+
55+
56+
List<List<T>> result = new ArrayList<>();
57+
//(先计算出余数)
58+
int remaider = source.size() % n;
59+
//然后是商
60+
int number = source.size() / n;
61+
//偏移量
62+
int offset = 0;
63+
for (int i = 0; i < n; i++) {
64+
List<T> value;
65+
if (remaider > 0) {
66+
value = source.subList(i * number + offset, (i + 1) * number + offset + 1);
67+
remaider--;
68+
offset++;
69+
} else {
70+
value = source.subList(i * number + offset, (i + 1) * number + offset);
71+
}
72+
result.add(value);
73+
}
74+
return result;
75+
76+
}
77+
78+
}
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
package com.chen.api.util;
2+
3+
import java.sql.Timestamp;
4+
import java.text.ParseException;
5+
import java.text.SimpleDateFormat;
6+
import java.util.Calendar;
7+
import java.util.Date;
8+
9+
/**
10+
* @author : chen weijie
11+
* @Date: 2019-05-16 14:46
12+
*/
13+
public class DateUtils {
14+
15+
16+
public static void main(String[] args) throws ParseException {
17+
18+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
19+
20+
21+
// 1.Calendar 转化 String
22+
23+
Calendar calendat = Calendar.getInstance();
24+
25+
26+
String dateStr = sdf.format(calendat.getTime());
27+
28+
29+
// 2.String 转化Calendar
30+
31+
String str = "2012-5-27";
32+
Date date = null;
33+
try {
34+
date = sdf.parse(str);
35+
} catch (ParseException e) {
36+
e.printStackTrace();
37+
}
38+
39+
Calendar calendar = Calendar.getInstance();
40+
41+
calendar.setTime(date);
42+
43+
44+
// 3.Date 转化String
45+
46+
47+
dateStr = sdf.format(new Date());
48+
49+
50+
// 4.String 转化Date
51+
52+
str = "2012-5-27";
53+
54+
55+
date = sdf.parse(str);
56+
57+
58+
// 5.Date 转化Calendar
59+
60+
calendar = Calendar.getInstance();
61+
62+
calendar.setTime(new java.util.Date());
63+
64+
65+
// 6.Calendar转化Date
66+
67+
calendar = Calendar.getInstance();
68+
69+
date = calendar.getTime();
70+
71+
72+
// 7.String 转成 Timestamp
73+
74+
Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");
75+
76+
77+
// 8.Date 转 TimeStamp
78+
79+
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
80+
81+
String time = df.format(new Date());
82+
83+
ts = Timestamp.valueOf(time);
84+
85+
86+
}
87+
88+
89+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.chen.test;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* @author : chen weijie
8+
* @Date: 2019-05-14 21:35
9+
*/
10+
public class TestCompare {
11+
12+
13+
public static void main(String[] args) {
14+
15+
16+
List<Integer> listA =new ArrayList<>();
17+
listA.add(1);
18+
listA.add(2);
19+
listA.add(3);
20+
21+
22+
List<Integer> listB =new ArrayList<>();
23+
listA.add(6);
24+
listA.add(5);
25+
listA.add(4);
26+
27+
28+
listA.addAll(listB);
29+
30+
31+
// for (int i = 0; i < listA.size(); i++) {
32+
// System.out.println(listA.get(i));
33+
// }
34+
35+
36+
37+
double shouldNum = (double) 10 / 3;
38+
System.out.println(shouldNum);
39+
int num = (int) Math.ceil(shouldNum);
40+
System.out.println(num);
41+
42+
43+
44+
45+
}
46+
47+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.chen.test;
2+
3+
import java.util.ArrayList;
4+
import java.util.HashSet;
5+
import java.util.List;
6+
import java.util.Set;
7+
8+
/**
9+
* @author : chen weijie
10+
* @Date: 2019-05-16 18:14
11+
*/
12+
public class TestList {
13+
14+
15+
public static void main(String[] args) {
16+
17+
18+
Set<Integer> set = new HashSet<>();
19+
20+
21+
List<Integer> list = new ArrayList<>(null);
22+
23+
for (Integer a : list) {
24+
System.out.println(a);
25+
}
26+
27+
}
28+
29+
30+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.chen.test;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
/**
7+
* @author : chen weijie
8+
* @Date: 2019-05-08 18:45
9+
*/
10+
public class TestSubList {
11+
12+
public static void main(String[] args) {
13+
14+
15+
Integer[] integers = {1, 2, 3, 4, 5, 6};
16+
17+
List<Integer> integerList = Arrays.asList(integers);
18+
19+
List<Integer> integers1 = integerList.subList(3, 4);
20+
21+
22+
System.out.println(integers1);
23+
24+
25+
26+
}
27+
28+
29+
30+
}

0 commit comments

Comments
 (0)