4.20java数据框架 arrayList
一、数据框架包含的内容
位于Java.util包
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 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开始 |
clear()清空 、、、、、isEmpty()如果是空 返回true,、、、、iterator()
、、、、、toArray()