This is an automated email from the ASF dual-hosted git repository.

sunzesong pushed a commit to branch jira_907
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 77b0a546f5b3132cb7e165a2217211bb15f0f99b
Author: samperson1997 <[email protected]>
AuthorDate: Sun Sep 27 16:41:54 2020 +0800

    [IOTDB-907] Change TreeSet to HashSet in getAllDevices
---
 .../java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java  | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
index b53d5ff..b9a8226 100644
--- 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
+++ 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
@@ -24,6 +24,7 @@ import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -422,7 +423,7 @@ public class TsFileSequenceReader implements AutoCloseable {
   }
 
   private List<String> getAllDevices(MetadataIndexNode metadataIndexNode) 
throws IOException {
-    List<String> deviceList = new ArrayList<>();
+    Set<String> deviceSet = new HashSet<>();
     int metadataIndexListSize = metadataIndexNode.getChildren().size();
     for (int i = 0; i < metadataIndexListSize; i++) {
       MetadataIndexEntry metadataIndex = 
metadataIndexNode.getChildren().get(i);
@@ -430,7 +431,7 @@ public class TsFileSequenceReader implements AutoCloseable {
         case LEAF_MEASUREMENT:
         case INTERNAL_MEASUREMENT:
           for (MetadataIndexEntry index : metadataIndexNode.getChildren()) {
-            deviceList.add(index.getName());
+            deviceSet.add(index.getName());
           }
           break;
         case LEAF_DEVICE:
@@ -441,11 +442,11 @@ public class TsFileSequenceReader implements 
AutoCloseable {
           }
           ByteBuffer buffer = readData(metadataIndex.getOffset(), endOffset);
           MetadataIndexNode node = MetadataIndexNode.deserializeFrom(buffer);
-          deviceList.addAll(getAllDevices(node));
+          deviceSet.addAll(getAllDevices(node));
           break;
       }
     }
-    return deviceList;
+    return new ArrayList<>(deviceSet);
   }
 
   /**

Reply via email to