本文整理了Java中java.util.List.subList()
方法的一些代码示例,展示了List.subList()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.subList()
方法的具体详情如下:
包路径:java.util.List
类名称:List
方法名:subList
[英]Returns a List of the specified portion of this List from the given start index to the end index minus one. The returned List is backed by this List so changes to it are reflected by the other.
[中]返回此列表中指定部分的列表,从给定的开始索引到结束索引减1。返回的列表由此列表支持,因此对它的更改将由其他列表反映。
canonical example by Tabnine
private String[] makeArrayFromList(List<String> list, int maxSize) {
if (maxSize < list.size()) {
list = list.subList(0, maxSize);
}
return list.toArray(new String[0]);
}
代码示例来源:origin: google/guava
@Override
<E> List<Entry<E>> expectedEntries(int targetEntry, List<Entry<E>> entries) {
return entries.subList(targetEntry, entries.size());
}
代码示例来源:origin: bumptech/glide
private static List<String> getComparableParameterNames(
ExecutableElement element, boolean skipFirst) {
List<? extends VariableElement> parameters = element.getParameters();
if (skipFirst) {
parameters = parameters.subList(1, parameters.size());
}
List<String> result = new ArrayList<>(parameters.size());
for (VariableElement parameter : parameters) {
result.add(parameter.asType().toString());
}
return result;
}
代码示例来源:origin: google/guava
@CollectionSize.Require(absent = {ZERO})
public void testSubList_isEmpty() {
List<E> list = getList();
int size = getNumElements();
for (List<E> subList :
Arrays.asList(
list.subList(0, size),
list.subList(0, size - 1),
list.subList(1, size),
list.subList(0, 0),
list.subList(size, size))) {
assertEquals(subList.size() == 0, subList.isEmpty());
}
}
代码示例来源:origin: airbnb/lottie-android
@Override public void setContents(List<Content> contentsBefore, List<Content> contentsAfter) {
// Do nothing with contents after.
List<Content> myContentsBefore = new ArrayList<>(contentsBefore.size() + contents.size());
myContentsBefore.addAll(contentsBefore);
for (int i = contents.size() - 1; i >= 0; i--) {
Content content = contents.get(i);
content.setContents(myContentsBefore, contents.subList(0, i));
myContentsBefore.add(content);
}
}
代码示例来源:origin: prestodb/presto
private static List<Integer> trimTrailing(List<Integer> codePoints, int codePointToTrim)
{
int endIndex = codePoints.size();
while (endIndex > 0 && codePoints.get(endIndex - 1) == codePointToTrim) {
endIndex--;
}
return ImmutableList.copyOf(codePoints.subList(0, endIndex));
}
代码示例来源:origin: google/guava
@CollectionSize.Require(absent = {ZERO, ONE})
public void testSubList_get() {
List<E> list = getList();
int size = getNumElements();
List<E> copy = list.subList(0, size);
List<E> head = list.subList(0, size - 1);
List<E> tail = list.subList(1, size);
assertEquals(list.get(0), copy.get(0));
assertEquals(list.get(size - 1), copy.get(size - 1));
assertEquals(list.get(1), tail.get(0));
assertEquals(list.get(size - 1), tail.get(size - 2));
assertEquals(list.get(0), head.get(0));
assertEquals(list.get(size - 2), head.get(size - 2));
for (List<E> subList : Arrays.asList(copy, head, tail)) {
for (int index : Arrays.asList(-1, subList.size())) {
try {
subList.get(index);
fail("expected IndexOutOfBoundsException");
} catch (IndexOutOfBoundsException expected) {
}
}
}
}
代码示例来源:origin: square/picasso
Builder(Picasso picasso) {
context = picasso.context;
callFactory = picasso.callFactory;
service = picasso.dispatcher.service;
cache = picasso.cache;
listener = picasso.listener;
requestTransformers.addAll(picasso.requestTransformers);
// See Picasso(). Removes internal request handlers added before and after custom handlers.
int numRequestHandlers = picasso.requestHandlers.size();
requestHandlers.addAll(picasso.requestHandlers.subList(2, numRequestHandlers - 6));
defaultBitmapConfig = picasso.defaultBitmapConfig;
indicatorsEnabled = picasso.indicatorsEnabled;
loggingEnabled = picasso.loggingEnabled;
}
代码示例来源:origin: stanfordnlp/CoreNLP
private void addMention(int beginIdx, int endIdx, IndexedWord headword, List<Mention> mentions, Set<IntPair> mentionSpanSet, Set<IntPair> namedEntitySpanSet, List<CoreLabel> sent, SemanticGraph basic, SemanticGraph enhanced) {
IntPair mSpan = new IntPair(beginIdx, endIdx);
if(!mentionSpanSet.contains(mSpan) && (!insideNE(mSpan, namedEntitySpanSet)) ) {
int dummyMentionId = -1;
Mention m = new Mention(dummyMentionId, beginIdx, endIdx, sent, basic, enhanced, new ArrayList<>(sent.subList(beginIdx, endIdx)));
m.headIndex = headword.index()-1;
m.headWord = sent.get(m.headIndex);
m.headString = m.headWord.word().toLowerCase(Locale.ENGLISH);
mentions.add(m);
mentionSpanSet.add(mSpan);
}
}
代码示例来源:origin: stackoverflow.com
List<Integer> numbers = new ArrayList<Integer>(
Arrays.asList(5,3,1,2,9,5,0,7)
);
List<Integer> head = numbers.subList(0, 4);
List<Integer> tail = numbers.subList(4, 8);
System.out.println(head); // prints "[5, 3, 1, 2]"
System.out.println(tail); // prints "[9, 5, 0, 7]"
Collections.sort(head);
System.out.println(numbers); // prints "[1, 2, 3, 5, 9, 5, 0, 7]"
tail.add(-1);
System.out.println(numbers); // prints "[1, 2, 3, 5, 9, 5, 0, 7, -1]"
代码示例来源:origin: google/guava
@Override
public List<T> next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
Object[] array = new Object[size];
int count = 0;
for (; count < size && iterator.hasNext(); count++) {
array[count] = iterator.next();
}
for (int i = count; i < size; i++) {
array[i] = null; // for GWT
}
@SuppressWarnings("unchecked") // we only put Ts in it
List<T> list = Collections.unmodifiableList((List<T>) Arrays.asList(array));
return (pad || count == size) ? list : list.subList(0, count);
}
};
代码示例来源:origin: shekhargulati/99-problems
private static <T> int _lengthRecursive(List<T> list, int i) {
if (list.isEmpty()) {
return i;
}
return _lengthRecursive(list.subList(1, list.size()), ++i);
}
}
代码示例来源:origin: google/guava
@ListFeature.Require(SUPPORTS_ADD_WITH_INDEX)
public void testSubList_subListAddAffectsOriginal() {
List<E> subList = getList().subList(0, 0);
subList.add(e3());
expectAdded(0, e3());
}
代码示例来源:origin: google/guava
@CollectionSize.Require(absent = {ZERO, ONE})
public void testSubList_ofSubListNonEmpty() {
List<E> subList = getList().subList(0, 2).subList(1, 2);
assertEquals(
"subList(0, 2).subList(1, 2) "
+ "should be a single-element list of the element at index 1",
Collections.singletonList(getOrderedElements().get(1)),
subList);
}
代码示例来源:origin: google/guava
/** Test throwing ConcurrentModificationException when a sublist's ancestor's delegate changes. */
public void testSublistConcurrentModificationException() {
ListMultimap<String, Integer> multimap = create();
multimap.putAll("foo", asList(1, 2, 3, 4, 5));
List<Integer> list = multimap.get("foo");
assertThat(multimap.get("foo")).containsExactly(1, 2, 3, 4, 5).inOrder();
List<Integer> sublist = list.subList(0, 5);
assertThat(sublist).containsExactly(1, 2, 3, 4, 5).inOrder();
sublist.clear();
assertTrue(sublist.isEmpty());
multimap.put("foo", 6);
try {
sublist.isEmpty();
fail("Expected ConcurrentModificationException");
} catch (ConcurrentModificationException expected) {
}
}
代码示例来源:origin: google/guava
ToOptionalState combine(ToOptionalState other) {
if (element == null) {
return other;
} else if (other.element == null) {
return this;
} else {
if (extras == null) {
extras = new ArrayList<>();
}
extras.add(other.element);
if (other.extras != null) {
this.extras.addAll(other.extras);
}
if (extras.size() > MAX_EXTRAS) {
extras.subList(MAX_EXTRAS, extras.size()).clear();
throw multiples(true);
}
return this;
}
}
代码示例来源:origin: prestodb/presto
@Override
public Type createType(TypeManager typeManager, List<TypeParameter> parameters)
{
checkArgument(parameters.size() >= 1, "Function type must have at least one parameter, got %s", parameters);
checkArgument(
parameters.stream().allMatch(parameter -> parameter.getKind() == ParameterKind.TYPE),
"Expected only types as a parameters, got %s",
parameters);
List<Type> types = parameters.stream().map(TypeParameter::getType).collect(toList());
return new FunctionType(types.subList(0, types.size() - 1), types.get(types.size() - 1));
}
}
代码示例来源:origin: skylot/jadx
public void addRecentFile(String filePath) {
recentFiles.remove(filePath);
recentFiles.add(0, filePath);
int count = recentFiles.size();
if (count > RECENT_FILES_COUNT) {
recentFiles.subList(RECENT_FILES_COUNT, count).clear();
}
partialSync(settings -> settings.recentFiles = recentFiles);
}
代码示例来源:origin: google/guava
@Override
<E> List<Entry<E>> expectedEntries(int targetEntry, List<Entry<E>> entries) {
return entries.subList(targetEntry + 1, entries.size());
}
代码示例来源:origin: stanfordnlp/CoreNLP
@Override
public List<E> objectsList() {
List<E> result = new ArrayList<>();
if (result.size() > backingIndexSize) {
// we told you not to do this
result.addAll(backingIndex.objectsList().subList(0, backingIndexSize));
} else {
result.addAll(backingIndex.objectsList());
}
result.addAll(spilloverIndex.objectsList());
return Collections.unmodifiableList(result);
}
内容来源于网络,如有侵权,请联系作者删除!