集合框架List

集合框架List

1.为何会有集合框架

2.list集合的特色	,方法

3.list集合的调优

4.list集合所特有的迭代器

5.数据结构之栈和队列

为何会有集合框架

数据多了用对象进行存储,对象多了用集合来进行存储。
而存储数据的方式(数据结构)各有不一样,因此存储的容器也就有多种,从而造成了集合框架这一体系。javascript

list集合的特色

1, List集合的概述及特色java

元素有序,而且每个元素都存在一个索引.元素能够重复。

List集合特有的功能

void add(int index,E element):    在指定索引处添加元素
          E remove(int index):移除指定索引处的元素  返回的是移除的元素
          E get(int index):获取指定索引处的元素
          E set(int index,E element):更改指定索引处的元素 返回的而是被替换的元素

List特有功能的举例:

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);//打印结果集
	}

list集合的调优

// 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

list集合所特有的迭代器

用迭代器中的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

数据结构概述及常见数据结构
             数据结构其实就是存储数据的格式        
             栈特色:     先进后出    (列如:子弹夹)
             队列:        先进先出		(列如:水管)

    数据结构之数组和链表:

             数组特色:    查询快 , 增删慢
             链表特色:    查询慢 , 增删快