ArrayList
创建动态数组
ArrayList<指定类型> list = new ArrayList<指定类型>
成员方法:
查询动态数组大小:size(); 动态数组大小
增: add(); 往容器中添加指定类型数据
删: remove(int index); 从容器中删除数据根据数组的索引编号
改: set(int index,Eelement); 修改指定位置索引的值
查: get(int index); 根据索引编号获取值 index 0~list.size()
import supermarket.Goods;
import java.util.ArrayList;
import java.util.Arrays;
class ArrayListTest {
public static void main(String[] args) {
//是ArrayList API
Goods[] goods = new Goods[10];
ArrayList<String> list = new ArrayList<String>();// 厨余垃圾 有害垃圾 其他垃圾 ArrayList<指定类型>
//list.add(10); //10 int
list.add("aaa");//aaa string
//list.add(1.1);//1.1 double
list.add("bbb");
list.add("ccc");//ccc 修改为 ccc666
list.add("ddd");
list.set(2,"ccc666");
int size = list.size();
System.out.println("======数组大小=====");
System.out.println(size);//4
System.out.println("==打印数组第四个值==");
System.out.println(list.get(3));//ddd
System.out.println("======打印数组=====");
for (int i = 0;i<list.size();i++){
String s = list.get(i);
System.out.println(s);
}
//Arraylist 成员方法 add() 往容器中添加指定类型数据
/*public String remove(int index) 从容器中删除数据根据数组的索引编号
* 修饰符 返回值类型 方法名
* size();
* get(int index) 根据索引编号获取值 index 0~list.size()
* set(int index,Eelement) 修改指定位置索引的 值
* * * * * * */ System.out.println("======删除数据=====");
String s = list.remove(1);//到底有没有删除掉? 返回的数据就是从容器中删除的数据
System.out.println(s);//bbb
System.out.println(Arrays.toString(goods));
}
}
小练
import supermarket.Goods;
import java.util.ArrayList;
import java.util.Arrays;
public class ArrayTest2 {
public static void main(String[] args) {
//需求: 定义一个容器 能够储存多个商品类型的数据
//方案: 2种 1.Good[] goods = new Good[10]; // 2.ArrayList<Goods> goodList = new ArrayList<Goods>();
//建立 Goods 类型的动态数组
ArrayList<Goods> goods = new ArrayList<Goods>();
Goods g1 = new Goods("90001","apple",15.5);
Goods g2 = new Goods("90002","banana",15.2);
Goods g3 = new Goods("90003","peach",1.5);
//增加商品
goods.add(g1);
goods.add(g2);
goods.add(g3);
System.out.println(goods.size());
// 展示删除之前数组
showGoods(goods);
// 引用传递 输出连个7.6
System.out.println(g2.getPrice());
System.out.println(goods.get(1).getPrice());
// 将goods 中的90002数据删掉
del(goods,"90002");
System.out.println(goods.size());
// 展示删除之后数组
showGoods(goods);
}
public static void showGoods(ArrayList<Goods> list){
for (int i = 0;i<list.size();i++){
Goods g = list.get(i);
//遍历索引数组中的编号为90002的数据
if ("90002".equals(g.getCode())){
//将90002 的价格改为7.6
g.setPrice(7.6);
}
System.out.println(g.getCode()+","+g.getName()+","+g.getPrice());
}
}
// 从数组中删除指定位置的元素
public static void del(ArrayList<Goods> list,String code) {
for (int i = 0;i<list.size();i++){
Goods g = list.get(i);
if (code.equals(g.getCode())){
list.remove(i);
}
}
}
}