java list 按指定长度拆分
时间: 2023-08-20 11:07:23 浏览: 107
可以使用Java中的`List.subList()`方法来按指定长度拆分List,具体实现可以参考以下代码:
```java
public static <T> List<List<T>> splitList(List<T> list, int size) {
List<List<T>> result = new ArrayList<>();
for (int i = 0; i < list.size(); i += size) {
result.add(list.subList(i, Math.min(i + size, list.size())));
}
return result;
}
```
使用示例:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
List<List<Integer>> subLists = splitList(list, 3);
System.out.println(subLists); // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
以上代码将原始List按长度为3的大小拆分成了3个List。
相关问题
java中字符串按指定长度拆分成集合的方法
Java中可以通过如下代码实现字符串按指定长度拆分成集合的方法:
```
public static List<String> splitString(String str, int len){
List<String> list = new ArrayList<>();
int strLen = str.length();
int count = strLen/len;
if(strLen%len!=0){
count += 1;
}
for(int i=0; i<count; i++){
int endIndex = (i+1)*len;
if(endIndex > strLen){
endIndex = strLen;
}
list.add(str.substring(i*len, endIndex));
}
return list;
}
```
其中`str`为待拆分字符串,`len`为指定长度。函数返回一个`List`对象,里面存放拆分后的子字符串。
hashset 按指定长度拆分集合
可以通过以下步骤来按指定长度拆分 HashSet 集合:
1. 获取 HashSet 集合的大小,即元素个数。
2. 计算出拆分后子集合的个数,即 HashSet 集合大小除以指定长度,若不能整除则加 1。
3. 遍历 HashSet 集合,将元素按照顺序依次添加到子集合中。
4. 当子集合大小达到指定长度时,将其添加到一个 List 中,并新建一个子集合。
5. 最后一个子集合可能不足指定长度,也需要添加到 List 中。
以下是一个示例代码:
```java
public static List<HashSet<String>> splitHashSet(HashSet<String> set, int len) {
List<HashSet<String>> result = new ArrayList<>();
int size = set.size();
int subSetNum = size % len == 0 ? size / len : size / len + 1;
Iterator<String> iterator = set.iterator();
for (int i = 0; i < subSetNum; i++) {
HashSet<String> subSet = new HashSet<>();
for (int j = 0; j < len && iterator.hasNext(); j++) {
subSet.add(iterator.next());
}
result.add(subSet);
}
return result;
}
```
调用示例:
```java
HashSet<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.add("e");
set.add("f");
set.add("g");
List<HashSet<String>> subSets = splitHashSet(set, 3);
for (HashSet<String> subSet : subSets) {
System.out.println(subSet);
}
```
输出结果:
```
[a, b, c]
[d, e, f]
[g]
```
阅读全文