这是由他们的数据结构不同决定的,ArrayList 的底层结构是数组,数组都有所以,要查询一个元素,直接顺着找哪个索引就行了,就好比,你在班级是22号,老师要找你不用一个个去找,直接找22号就ok了。但是,你想想,一旦你要插入一个数到中间,是不是所有元素都要改变索引(往后挪一位)?这样就慢了。再说LinkedList是链表结构,就好比班里的人手拉手,老师不知道你们的索引,只有你们知道,1知道2,2知道3,3知道4,这样,要找一个元素就要一个个查过去,慢。但是有一个好处,增删,你看我要我要在3,4之间增加一个,后面的数据都不用改变索引,只需要3记住后面的不再是4了,是新的,4记住前面不再是3了,是新的,就ok了,只需要改变2个数,增删块! |