우리는 다음 Set
과 같이 만듭니다 .
Set myset = new HashSet()
List
Java로 어떻게 작성 합니까?
답변
List myList = new ArrayList();
또는 제네릭 사용 ( Java 7 이상)
List<MyType> myList = new ArrayList<>();
또는 제네릭 (오래된 Java 버전)
List<MyType> myList = new ArrayList<MyType>();
답변
또한 목록이있는 목록을 만들려면 크기가 고정되어 있지만 :
List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You");
답변
요약하고 무언가를 추가하겠습니다.
1. new ArrayList<String>();
2. Arrays.asList("A", "B", "C")
1. Lists.newArrayList("Mike", "John", "Lesly");
2. Lists.asList("A","B", new String [] {"C", "D"});
불변 목록
1. Collections.unmodifiableList(new ArrayList<String>(Arrays.asList("A","B")));
2. ImmutableList.builder() // Guava
.add("A")
.add("B").build();
3. ImmutableList.of("A", "B"); // Guava
4. ImmutableList.copyOf(Lists.newArrayList("A", "B", "C")); // Guava
빈 불변 목록
1. Collections.emptyList();
2. Collections.EMPTY_LIST;
문자 목록
1. Lists.charactersOf("String") // Guava
2. Lists.newArrayList(Splitter.fixedLength(1).split("String")) // Guava
정수 목록
Ints.asList(1,2,3); // Guava
답변
자바 8에서
비어 있지 않은 고정 크기 목록을 작성하려면 (add, remove 등의 작업은 지원되지 않음) :
List<Integer> list = Arrays.asList(1, 2); // but, list.set(...) is supported
비어 있지 않은 변경 가능 목록을 작성하려면 다음을 수행하십시오.
List<Integer> list = new ArrayList<>(Arrays.asList(3, 4));
자바 9
새로운 List.of(...)
정적 팩토리 메소드 사용 :
List<Integer> immutableList = List.of(1, 2);
List<Integer> mutableList = new ArrayList<>(List.of(3, 4));
자바 10
은 Using 지역 변수 유형 추론을 :
var list1 = List.of(1, 2);
var list2 = new ArrayList<>(List.of(3, 4));
var list3 = new ArrayList<String>();
모범 사례를 따르십시오.
원시 유형을 사용하지 마십시오
Java 5부터 generics는 언어의 일부 였으므로 다음을 사용해야합니다.
List<String> list = new ArrayList<>(); // Good, List of String
List list = new ArrayList(); // Bad, don't do that!
인터페이스 프로그램
예를 들어, List
인터페이스에 프로그램하십시오 .
List<Double> list = new ArrayList<>();
대신에:
ArrayList<Double> list = new ArrayList<>(); // This is a bad idea!
답변
먼저 이것을 읽은 다음 이것 과 이것을 읽으십시오 . 10 중 9 번이 두 구현 중 하나를 사용합니다.
실제로, Sun의 Collections to Collections 프레임 워크를 읽으십시오 .
답변
//simple example creating a list form a string array
String[] myStrings = new String[] {"Elem1","Elem2","Elem3","Elem4","Elem5"};
List mylist = Arrays.asList(myStrings );
//getting an iterator object to browse list items
Iterator itr= mylist.iterator();
System.out.println("Displaying List Elements,");
while(itr.hasNext())
System.out.println(itr.next());
답변
Java 7부터 일반 인스턴스 작성에 대한 유형 유추가 있으므로 할당의 오른쪽에 일반 매개 변수를 복제 할 필요가 없습니다.
List<String> list = new ArrayList<>();
고정 크기 목록은 다음과 같이 정의 할 수 있습니다.
List<String> list = Arrays.asList("foo", "bar");
불변 목록의 경우 Guava 라이브러리를 사용할 수 있습니다 .
List<String> list = ImmutableList.of("foo", "bar");