栈:先进后出(压栈,弹栈)
队列:先进先出
数组:查询快,增删慢(数组长度固定)
链表:查询慢,增删快(每个节点代表一个元素,含有下一个地址值与数据)
数组:长度固定 (可以存储基本数据类型,也可以存储引用数据类型) {存储元素数据类型一致}
集合:长度可变 (只可以存储引用数据类型) {可以存储多种数据类型}
迭代器遍历集合: 迭代器是依赖于集合而存在的。所以,要想得到迭代器对象,必须先有集合对象。 迭代步骤: A:通过集合对象获取到迭代器对象 B:通过迭代器对象的hasNext()方法判断是否有元素 C:通过迭代器对象的next()方法获取元素
ArrayList与LinkedList的相同点与不同点 (面试题**) 相同点: 有顺序的,元素可以重复 (1)ArrayList特点: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 (2)LinkedList特点: 底层数据结构是链表,查询慢,增删快 线程不安全,效率高
泛型:
(1)是一种把明确数据类型的工作推迟到创建对象或者调用方法的时候才去明确类型的特殊类型 (2)格式: <数据类型> 默认情况下,是Object类型。 这里数据类型只能是引用类型。如果你看到写基本类型也行,其实这里使用了自动装箱。 (3)好处: A:把运行时期问题提前到了编译时期 B:避免了强制类型转换 C:优化程序设计,解决了黄色警告线问题