[ジャワ] [35]サブリスト傍受部一覧

はじめに:

1は、(サブリスト検索することは比較的容易であるから近い右開いたままにする方法、)、プライマリリストは、影響力を持っているので、注意が必要だろう。

本体:

何の元一覧他のアクションが取られていない場合は、直接使用することができます。その場合は、注意を払います

ケース1:元のリストで、その結果、サブリスト変更も影響を受けています

@Test
 公共 ボイド試験(){ 
    リストの<string>リスト= 新規のArrayList <> (); 
    list.add( "A" ); 
    list.add( "B" ); 
    list.add( "C" ); 
    list.add( "D" ); 
    リストの<string> newList = list.subList(1、3)。// リスト下标是从0开始的、这里是取{B、C} 
    newList.add( "新しいです" )。
    System.out.println( "リスト:" + リスト)。
    System.out.println( "newList:" + newList)。
}

結果:

リスト:[A、B、C、新しい、D] 
newList:[B、C、新しいです ]

ケース2:元のリストを変更し、エラーのすべての操作のサブリストをリードします

@Test
 公共 ボイド試験(){ 
    リストの<string>リスト= 新規のArrayList <> (); 
    list.add( "A" ); 
    list.add( "B" ); 
    list.add( "C" ); 
    list.add( "D" ); 
    リストの<string> newList = list.subList(1、3)。// リスト下标是从0开始的、这里是取{B、C} 
    list.add( "新しいです" )。
    System.out.println( "リスト:" + リスト)。
    System.out.println( "newList:" + newList)。
}

結果:

リスト:[A、B、C、D、] 

java.util.ConcurrentModificationExceptionが
    :java.util.ArrayListの$ SubList.checkForComodification(ArrayList.javaで 1231 
    :java.util.ArrayListの$ SubList.listIterator(ArrayList.javaで 1091 
    :java.util.AbstractList.listIterator(AbstractList.javaで 299 
    java.util.ArrayListの$ SubList.iterator(ArrayList.java時: 1087 
    java.util.AbstractCollection.toString(AbstractCollection.java時: 454 
    で、 java.lang.String.valueOf(String.java: 2994 
    java.lang.StringBuilder.appendで(StringBuilder.java: 131 
......

 

おすすめ

転載: www.cnblogs.com/huashengweilong/p/11246083.html