>  기사  >  Java  >  6개 컬렉션에 요소를 추가하는 효율성을 간략하게 설명하세요.

6개 컬렉션에 요소를 추가하는 효율성을 간략하게 설명하세요.

Y2J
Y2J원래의
2017-05-08 15:42:351420검색

다음 편집기에서는 Java에서 일반적으로 사용되는 여러 컬렉션에 요소를 추가하는 효율성에 대해 간략하게 설명합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 에디터를 따라가며 살펴보겠습니다.

비교해야 할 컬렉션을 초기화하고 100,000개의 요소를 균일하게 추가하고 전체 프로세스의 실행 시간을 가져옵니다.

1. 목록 컬렉션에 요소 추가

private static void testList() {

  List<Integer> list = new ArrayList<Integer>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  System.out.println("List添加元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间

 }

프로그램 출력:

목록에 100,000 추가 각 요소에 대한 프로그램의 실행 시간은 8ms

2. Set 컬렉션에 요소 추가

private static void testSet() {

  Set<Integer> set = new HashSet<Integer>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  System.out.println("Set添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间

 }

프로그램 출력:

추가 설정 100,000개의 요소가 있는 프로그램의 실행 시간은 17ms

3 LinkedList 컬렉션에 요소 추가

private static void testLinkedList() {

  List<Integer> list = new LinkedList<Integer>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("LinkedList添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

프로그램 출력:

LinkedList는 100,000개의 요소를 추가합니다. 프로그램 실행 시간은 8ms입니다.

4. TreeSet 컬렉션에 요소 추가

private static void testTreeSet() {

  Set<Integer> set = new TreeSet<Integer>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("TreeSet添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

프로그램 출력:

TreeSet은 100,000개의 요소를 추가합니다. 프로그램 실행 시간은 40ms

요약: 중복 제거를 고려하지 않음 위의 몇 가지 일반적으로 사용되는 집합의 실행 효율성은 다음과 같습니다: ArrayList >= LinkedList > HashSet > TreeSet

5.

private static void testHashMap() {

  Map<Integer, Object> hashMap = new HashMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {
   hashMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("HashMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

프로그램 출력:

HashMap은 100,000개의 요소를 추가합니다. 프로그램 실행 시간은 17ms입니다.

6.

private static void testTreeMap() {
  
  Map<Integer, Object> treeMap = new TreeMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {
   treeMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("TreeMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
 }
프로그램 출력:

TreeMap은 100,000개의 요소를 추가합니다. 프로그램 실행 시간은 40ms

요약: 고려하지 않음 정렬을 수행하면 HashMap의 실행 효율성이 TreeMap보다 높습니다. HashMap > [관련 추천]

1.

Java 무료 동영상 튜토리얼

2. 사진 썸네일 영상 튜토리얼

3. FastJson 튜토리얼 매뉴얼

위 내용은 6개 컬렉션에 요소를 추가하는 효율성을 간략하게 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.