问:当我们建立一个对象的时候, 语言做了什么
答:将我们的对象的名称转换后,按照红黑树排列
其实foreach遍历过程中,并不是直接操作对象a的,而是会将a复制出一个acopy , foreach在遍历过程中操作的其实一直是acopy 。
acopy的特性是链表,使用的方法是Iterator迭代器。
for循环使用的是递归,查找速度远远不及foreach
不止查找读取速度问题, 使用数组下标查询,是一种有风险的操作,不够精确,使用对象名称比较稳妥
红黑树的弱点是是插入,比起二叉树,数组,红黑树的插入速度很慢
但是他是牺牲了插入效率,换取了查找效率
所以,看情况使用