public class Order {
String OrderId;
User user;
Product[] ps;
}
public class Product {
public String pId;
public String PName;
public float price;
public int number;
//方法:就是用一个代号来代表一段固定的逻辑
//跨包:要添加修饰符号 public
public String toString(){
String tmp = this.pId+ "," +this.PName+ "," +this.price+ "," +this.number;
return tmp;
}
}
public class User {
String uerId;
String userName;
String vipLeve1;
}
一、初始化:
1、不初始化容量:
ArrayList arr1 = new ArrayList();
2、初始化容量:
ArrayList arr1 = new ArrayList(3);
3、用一个集合或数组初始化
ArrayList arr1 = new ArrayList(a);
二、
1、替换元素
方法:set();
功能:用指定元素obj替代集合中指定index位置的元素
说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“javaEE”]
2.获取元素
方法:size();
功能:用于获取ArrayList的大小,返回集合中的元素个数
arr.size();//获取arr数组的大小
3、清空集合内的所有元素
方法:clear();
package javase.day04.list.demo;
import javase.day04.list.Product;
import java.util.ArrayList;
public class ListDemo02 {
public static void main(String[] args) {
Product p1 = new Product();
p1.pId = "1";
p1.PName = "肥皂";
p1.price = 2.5f;
p1.number = 2;
Product p2 = new Product();
p2.pId = "2";
p2.PName = "贴纸";
p2.price = 25.5f;
p2.number = 2;
Product p3 = new Product();
p3.pId = "3";
p3.PName = "冰淇淋";
p3.price = 5.5f;
p3.number = 2;
Product p4 = new Product();
p4.pId = "4";
p4.PName = "半熟芝士";
p4.price = 35.5f;
p4.number = 5;
Product p5 = new Product();
p5.pId = "4";
p5.PName = "抹茶蛋糕";
p5.price = 40.5f;
p5.number = 3;
ArrayList<Product> pdts =new ArrayList<Product>();
pdts.add(p1);
pdts.add(p2);
pdts.add(p3);
pdts.add(p4);
pdts.add(p5);
//计算List中的所有商品总金额
float amount = 0;
for(int i = 0;i<pdts.size();i++){
amount += (pdts.get(i).price*pdts.get(i).number);
}
System.out.println(amount);
//计算list中的所有商品成交金额最大的商品
Product tmp = pdts.get(0);
for(int i = 1; i<pdts.size();i++){
if(pdts.get(i).price>tmp.price){
tmp = pdts.get(i);
}
}
System.out.println(tmp.toString());
//计算List中所有商品成交金额最大高的商品
tmp = pdts.get(0);
for(int i = 1; i<pdts.size();i++){
if(pdts.get(i).price*pdts.get(i).number>tmp.price * tmp.number){
tmp = pdts.get(i);
}
}
System.out.println(tmp.toString());
//求出排名前三的商品
for(int i =0;i<pdts.size()-1;i++){
for(int j =0;j<pdts.size()-1-i;j++){
if(pdts.get(j).price < pdts.get(j+1).price){
Product t = pdts.get(j);
Product p_j1 =pdts.get(j);
pdts.set(j,p_j1);//将实际j位置上的数据换成j+1位置上的数据
pdts.set(j+1,t);//将实际j+1位置上的数据换成j位置上的数据
}
}
}
for(int i = 0;i<3;i++){
tmp = pdts.get(i);
System.out.println(tmp.toString());
}
}
}