ArrayList和LinkedList的使用以及扩展
ArrayList :以数组的形式存储
LinkedList:以链表的形式存储
例题
- 关于ArrayList 的描述中, 错误的是
a. 存储密度比LinkedList 大
b. 不限制大小和类型
c. 节点中只有自身信息域, 没有链信息域
d. 便于进行插入、删除等运算操作
public class ListDemo {
public static void main(String[] args) {
List<String> arrList = new ArrayList<String>();//使用泛型 默认大小10 内存中顺序存储 可以自动扩张 -存储的对象的引用 适合查询 比较方便
List<String> linList = new LinkedList<String>();//前后指针 无初始大小 内存中分散存储 除了存储数据item本身 还存储前指针per和后指针next 类似双链表 便于进行插入和删除元素(修改前指针和后指针) 查询需要找指针
arrList.add("A");
arrList.add("B");
arrList.add("C");
linList.add("A");
linList.add("B");
linList.add("C");
System.out.println("------------END-------------");
}
}
- Set、List、Map对比
Set Map都提供了有序(Tree**)、无序的方式
List –有序
List –有序存储 (ArrayList 和Linked)
Set –无序存储 杂乱无章
Map –key-value键值对存储
HashSet–无序的
TreeSet–有序的 存储对象不能重复 而List可以重复
HashMap –无序,不可以存储重复的key值
TreeMap –有序的 key-value格式的数据有顺序