在Java中将列表拆分为两个子列表的最简单,最标准和/或最有效的方法是什么?可以更改原始列表,因此无需复制。方法签名可以是
/** Split a list into two sublists. The original list will be modified to
* have size i and will contain exactly the same elements at indices 0
* through i-1 as it had originally; the returned list will have size
* len-i (where len is the size of the original list before the call)
* and will have the same elements at indices 0 through len-(i+1) as
* the original list had at indices i through len-1.
*/
<T> List<T> split(List<T> list, int i);
[EDIT]
List.subList
返回原始列表上的视图,如果修改了原始视图,该视图将无效。因此,除非它也放弃了原始参考文献,否则split
无法使用subList
(或者,如Marc
Novakowski的回答所述,使用subList
但立即复制结果)。
快速半伪代码:
List sub=one.subList(...);
List two=new XxxList(sub);
sub.clear(); // since sub is backed by one, this removes all sub-list items from one
它使用标准的List实现方法,并避免了所有循环运行。clear()方法还将removeRange()
对大多数列表使用内部方法,并且效率更高。
问题内容: 我有 我想要 问题答案:
例如,我有一个可变大小的列表 我想用各种可能的方法把这个列表分成两部分: 我很确定这不是一个未知的问题,可能有一个算法,但是我找不到。此外,这不应使用任何外部库,而应使用简单的语言功能(循环、条件、方法/函数、变量等)在大多数语言中都可以找到。 我用Python写了一个hackish解决方案: 但是,它使用了库功能,总体上不是很好看。
问题内容: 过程/输出的示例为: 文件1: 文件2: 串联后的结果文件: 文件3: 对于大量非预期文本(无通配符-但行如上所述对齐)。 我无法弄清楚如何在Ubuntu下使用粘贴命令来做到这一点。 问题答案:
问题:如何将列表拆分为两个子列表,其中元素由元素中的选项卡分隔? 上下文:我想读取一个由制表符分隔的文件到Pandas DataFrame中。这些文件看起来像: 列1\t 123 列2\t 列3\t文本 这意味着每行有一列,后面跟着一个选项卡,然后是该列的一个值(有时没有值)。 我的想法是读取文件并将每行保存为列表的元素,然后将列表分成两个,将选项卡前的第一部分作为一个列表,选项卡后的第二部分作为
给定需要排序和分组的对象列表: 我想将列表分组为列表中的列表,按widgetCode分组,每个子列表的元素按照它们在原始列表中遇到的顺序排列。我知道可以使用收集器将它们分组到列表映射中: 我并不认为键是理所当然地排序的,所以我采取了额外的步骤,将整个内容加载到SortedMap类型中: 我知道我可以通过使用.values()从sortedWidgetMap获取集合,而且我猜它是一个有序集合,因为它
我需要一个mapstruct映射,用于具有要以这种方式映射到目标类的对象列表的类: