1.为何会有集合框架 2.list集合的特色 ,方法 3.list集合的调优 4.list集合所特有的迭代器 5.数据结构之栈和队列
数据多了用对象进行存储,对象多了用集合来进行存储。
而存储数据的方式(数据结构)各有不一样,因此存储的容器也就有多种,从而造成了集合框架这一体系。javascript
1, List集合的概述及特色java
元素有序,而且每个元素都存在一个索引.元素能够重复。
void add(int index,E element): 在指定索引处添加元素 E remove(int index):移除指定索引处的元素 返回的是移除的元素 E get(int index):获取指定索引处的元素 E set(int index,E element):更改指定索引处的元素 返回的而是被替换的元素
void add(int index,E element): 在指定索引处添加元素web
// An highlighted block public static void getLen() { List li = new ArrayList<>(); li.add(45); li.add(43); li.add(56); li.add(78); li.add(37); li.add(2,"java05"); System.out.println(li); }
E remove(int index):移除指定索引处的元素 返回的是移除的元素数组
// An highlighted block public static void getLen() { List li = new ArrayList<>(); li.add(45); li.add(43); li.add(56); li.add(78); li.add(37); li.remove(2); System.out.println(li); }
E get(int index):获取指定索引处的元素数据结构
// An highlighted block public static void main(String[] args) { List li = new ArrayList<>(); li.add(45); li.add(43); li.add(56); li.add(78); li.add(37); System.out.println(li.get(2)); }
E set(int index,E element):更改指定索引处的元素 返回的而是被替换的元素框架
// An highlighted block public static void main(String[] args) { List li = new ArrayList<>(); li.add(45); li.add(43); li.add(56); li.add(78); li.add(37); li.set(2,99); System.out.println(li);//打印结果集 }
// An highlighted block /** * 探究list集合的生长因子 * @author XYX * */ public class ListDemo { public static void main(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { ArrayList li=new ArrayList<>(50);//50就是指调整array list的默认空间 for (int i = 0; i < 60; i++) { li.add(i); System.out.println(i+","); getLen(li); } } public static void getLen(ArrayList li) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { Field f = li.getClass().getDeclaredField("elementData"); f.setAccessible(true);//打开访问权限 Object obj=f.get(li); Object[] elementData=(Object[]) obj; System.out.println("当前容量是:"+elementData.length); } private static int Integer(Object next) { // TODO Auto-generated method stub return 0; } }
增加因子的初始值为10,当大于十时就会增大,也能够本身定义初始值,代码为:ArrayList li=new ArrayList<>(50); 50就是本身设置的初始值svg
用迭代器中的hasNext() 和next()方法来进行遍历spa
package com.zking.xyx; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; public class ConnationList { public static void main(String[] args) { ArrayList al =new ArrayList<>(); al.add("java01"); al.add("java02"); al.add("jVA03"); al.add("DGVBG"); al.add("RGBV"); Iterator it = al.iterator(); while(it.hasNext()) { Object obj = it.next(); System.out.println(obj); } } }
数据结构之栈和队列:code
数据结构概述及常见数据结构 数据结构其实就是存储数据的格式 栈特色: 先进后出 (列如:子弹夹) 队列: 先进先出 (列如:水管) 数据结构之数组和链表: 数组特色: 查询快 , 增删慢 链表特色: 查询慢 , 增删快