4.20java数据框架 arrayList

一、数据框架包含的内容

                                         位于Java.util包

4.20java数据框架 arrayList

1、分类

    a、Collection接口存储一组不唯一、无序的对象

    b、List接口存储一组不唯一、无序的对象。

    c、Set、接口存储一组唯一、无序的对象。

    d、Map接口存储一组键值对象,提供key到va;ue的映射。

2、List

a、ArrayList实现了长度可变的数组,在内存中分配连续空间,遍历元素和随机访问元素的效率比较高。

b、LinkedList采用链表存储方式。插入和删除元素是效率比较高。

先创建一个引用类;   

 public class Framework {


private int newsId;

private String newsTitle;

private String newsAuther;


public Framework(){};

public int getNewsId() {
return newsId;
}

public void setNewsId(int newsId) {
this.newsId = newsId;
}
public String getNewsTitle() {
return newsTitle;
}
public void setNewsTitle(String newsTitle) {
this.newsTitle = newsTitle;
}

public String getNewsAuther() {
return newsAuther;
}

public void setNewsAuther(String newsAuther) {

this.newsAuther = newsAuther;
}


public Framework(int newsId, String newsTitle, String newsAuther) {
this.newsId = newsId;
this.newsTitle = newsTitle;
this.newsAuther = newsAuther;

}

实现引用;

import java.util.ArrayList;




public class List {


public static void main(String[] args) {
Framework fw=new Framework (1,"生命不息","李");
Framework fw1=new Framework (1,"战斗不止","予");
Framework fw2=new Framework (1,"厚德载物","宁");
Framework f3=new Framework (1,"生命不息","呐");

ArrayList list=new ArrayList ();

list.add(fw);
list.add(fw1);
list.add(fw2);
list.add(f3);

System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
Framework   title=(Framework )list.get(i);

System.out.println(title.getNewsTitle());
}
for (Object ob : list) {
Framework   title=(Framework )ob;

System.out.println(title.getNewsAuther());
}

}

//除了用普通for循环我们还可用加强型for循环来输出
//本来这里的News是object类型,n也是object类型的引用,但是用了泛型规定了类型,所以可以直接用NewsL来接受
for (News n:list) {
System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
}
System.out.println("*****************************************");
//除了增强型for以外我们还可以用迭代器来进行遍历功能
//迭代器是集合父类自带的方法
//首先创建迭代器it
Iterator<News> it = list.iterator();
//迭代器的hasNext()方法是判断是否有下一个迭代的坐标,有就返回一个Boolean的true标记
while (it.hasNext()) {
//迭代器的Next()方法是如果有可迭代的坐标就就获取该坐标的值
//同理这里本来也是返回object的对象,但是使用的泛型,所以可以直接接受
News ne = it.next();
System.out.println(ne.getID()+"\t"+ne.getLitter()+"\t"+ne.getAuthor());
}
System.out.println("*****************************************");
//假如用户要添加新闻,有两种添加方法
//1,正常添加,系统默认从末尾添加
list.add(null);
//2,指定位置添加,体统会将用户插入的数据放在指定位置,将原位置的数据和它后面的数据的存储做坐标都往后移动一位
list.add(1, null);

}

3、ArrayList常用方法

                 boolean add(Object o)    

方法名 说明
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从里从0开始

void add (int index ,Object o)

在指定的索引位置添加元素。索引位置必须介于0和列表中元素的个数之间
int size() 返回列表中的元素个数
object get(int index) 返回制定索引位置的元素,取出的元素是object类型,使用前须进行强制类型转换
        boolean contains(Object o 判断列表中是否存在指定元素
         boolean remove(Object o 从列表中删除元素
Object  remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
4、Collection常用元素

clear()清空 、、、、、isEmpty()如果是空 返回true,、、、、iterator()

、、、、、toArray()