평론 Arrays.asList() 및 ArrayList 유형 차이

4443 단어 javaarrays.aslist
Arrays.asList()
하나의 그룹을 List 대상으로 바꾸면 이 방법은 ArrayList 형식의 대상을 되돌려줍니다. 이 ArrayList 클래스는java가 아닙니다.util.ArrayList 클래스가 아니라 Arrays 클래스의 정적 내부 클래스입니다!이 대상으로 목록에 업데이트 삭제 작업을 추가하면 UnsupportedOperationException 이상이 발생합니다.

<pre name="code" class="html"> :<span>	</span>//arrayList
<span>		</span>List list = new ArrayList();
<span>		</span>list.add("yz_b_insert");
<span>		</span>list.add("yz_b_del");
<span>		</span>list.add("yz_b_update");
<span>		</span>list.add("yz_b_see");
<span>		</span>System.out.println(list.contains("yz_b_update")+"=="+list);
<span>		</span>//arrays.asList()
<span>		</span>String dd = "yz_b_insert,yz_b_del,yz_b_update,yz_b_see";
<span>		</span>List list2 = Arrays.asList(dd);
<span>		</span>System.out.println(list2.contains("yz_b_update")+"@@@@@"+list2);
출력 결과:

<pre name="code" class="html">arraylist:true==[yz_b_insert, yz_b_del, yz_b_update, yz_b_see]
<pre name="code" class="html">arrays.asList():false@@@@@[yz_b_insert,yz_b_del,yz_b_update,yz_b_see]
만약
contains로 집합에 어떤 문자열이 존재한다고 판단하면, 
arraylist로 전환할 수 없음을 주의하십시오.
본인은 테스트를 하면 안 되고, 높은 사람이 있으면 지적해 줄 수 있습니다.
다음은 인터넷에서 찾은 자원입니다.

<span style="color: rgb(102, 102, 102); font-family: Tahoma;"> Arrays.asList List , UnsupportedOperationException, 。 </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;"> List,  List add remove , ? </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;"> , java.util.ArrayList 。 </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;"> : </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><pre class="java" name="code" style="color: rgb(102, 102, 102); background-color: rgb(255, 255, 255);">import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyArrays {
	public static <T> List<T> asList(T... a) {
		List<T> list = new ArrayList<T>();
		Collections.addAll(list, a);
		return list;
	}
}
테스트 코드는 다음과 같습니다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
		print(stooges);
		List<List<String>> seasonsList = Arrays.asList(retrieveSeasonsList());
		print(seasonsList);
		/*
		 *  asList , 。
		 */
		List<String> list = MyArrays.asList("Larry", "Moe", "Curly");
		list.add("Hello");
		print(list);
	}
	private static <T> void print(List<T> list) {
		System.out.println(list);
	}
	private static List<String> retrieveSeasonsList() {
		List<String> seasonsList = new ArrayList<String>();
		seasonsList.add("Spring");
		seasonsList.add("Summer");
		seasonsList.add("Autumn");
		seasonsList.add("Winter");
		return seasonsList;
	}
}
출력 결과:
[Larry, Moe, Curly]
[[Spring, Summer, Autumn, Winter]]
[Larry, Moe, Curly, Hello]
이상은 편집자가 여러분께 가져온 평론 Arrays입니다.asList () 와 Array List 유형이 모든 내용을 구별하니 많은 응원 부탁드립니다~

좋은 웹페이지 즐겨찾기