private String modify(String data, Set<Integer> indexesToRemove) {
List<String> lines = Arrays.asList(StringUtils.split(data, NEWLINE));
Set<Integer> dataIndexes = ContiguousSet.create(Range.closed(1, lines.size()),
DiscreteDomain.integers());
if (!dataIndexes.containsAll(indexesToRemove)) {
LOGGER.warn("Some of defined ranges exceed source lenght. Source length is: " + lines.size());
}
Set<Integer> filtereedIndexesToRemove = Sets.intersection(dataIndexes, indexesToRemove);
List<String> modifiedLines = new ArrayList<String>(
lines.size() - filtereedIndexesToRemove.size());
for (int i = 0; i < lines.size(); i++) {
if (!filtereedIndexesToRemove.contains(i + 1)) {
modifiedLines.add(lines.get(i));
}
}
return StringUtils.join(modifiedLines, NEWLINE);
}
RemoveLinesDataModifier.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:aet
作者:
评论列表
文章目录