Java googleprotobuf反序列化重复对象上get操作的时间复杂度

Java googleprotobuf反序列化重复对象上get操作的时间复杂度,java,list,serialization,time-complexity,protocol-buffers,Java,List,Serialization,Time Complexity,Protocol Buffers,假设我们创建了一个原型文件,其中包含一些重复的数据类型,例如 message DocList{ repeated string docId = 1; } 现在,我们以以下方式将对象插入到其生成器对象: DocList.Builder docList = new DocList.newBuilder() docList.addAllDocId(docIDlist); // docIDList is ArrayList<String> 我想知道这个get操作

假设我们创建了一个原型文件,其中包含一些重复的数据类型,例如

message DocList{ 
    repeated string docId = 1;
}
现在,我们以以下方式将对象插入到其生成器对象:

DocList.Builder docList = new DocList.newBuilder()
docList.addAllDocId(docIDlist);         // docIDList is ArrayList<String>
我想知道这个get操作是O1还是On?

Protobuf ListValue由java.util.ArrayList支持

docList.getDocId(i);   // Some index i
if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
      values_ = new java.util.ArrayList<com.google.protobuf.Value>();
      mutable_bitField0_ |= 0x00000001;
}
@SuppressWarnings("unchecked")
E elementData(int index) {
    return (E) elementData[index];
}