java列表数据基本操作
列表数据组基本的增删改查
package cn.edu.fhj.day002;
import java.util.ArrayList;
public class ArrList {
// 定义一个主函数
public static void main(String[] args) {
// 创建一个用来装整数数据的arraylist对象
// ArrayList<Integer> xx = new ArrayList<Integer>();
ArrayList<Integer> aa = new ArrayList<Integer>();
// 向arraylist中添加数据
aa.add(1);
aa.add(2);
aa.add(3);
aa.add(4);
// 从arraylist中读取数据
System.out.println(aa.get(3));
System.out.println(aa.get(2));
System.out.println(aa.get(1));
System.out.println(aa.get(0));
System.out.println("循环取值");
// 遍历list: 将整个arraylist的数据按脚标顺序全部打印出来
for (int i = 0 ; i < aa.size();i++){
System.out.println(aa.get(i));
};
// 从list中移除数据
System.out.println("删除元素");
aa.remove(0);
for (int i = 0 ; i < aa.size();i++){
System.out.println(aa.get(i));
};
// 更改list中指定位置上的数据
// int a = Integer.parseInt("8");
System.out.println("更改元素");
aa.set(1, 15);
for (int i = 0; i < aa.size(); i++){
System.out.println(aa.get(i));
};
}
}
列表数组demo
package cn.edu.fhj.day002;
import java.util.ArrayList;
import day002.product.Product;
public class ListDemo2 {
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 = 15.5f;
p3.number = 1;
Product p4 = new Product();
p4.pId = "4";
p4.pName = "锥子";
p4.price = 18;
p4.number = 2;
Product p5 = new Product();
p5.pId = "5";
p5.pName = "风油精";
p5.price = 8;
p5.number = 2;
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());
/**
* 求出list中单价排名前3的商品
*/
// 1、先按单价排序
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+1);
pdts.set(j, p_j1); // 将脚标j位置上的数据换成j+1位置上的数据
pdts.set(j+1, t); // 将脚标j+1位置上的数据换成j位置上的数据
}
}
}
// 2、再打印出前3个商品即为单价最高的3个商品
System.out.println("单价最高前三名的商品为: ");
for(int i=0;i<pdts.size();i++) {
tmp = pdts.get(i);
System.out.println(tmp.toString());
System.out.println(tmp.pName);
System.out.println(tmp.price);
}
}
}
代码模板
1、ArrayList的用法 //------------------------------------------------------------------
public class ListDemo{
public static void main(String[] args){
// 创建一个用来装整数数据的arraylist对象
ArrayList<Integer> xx = new ArrayList<Integer>();
// 向arraylist中添加数据
xx.add(1);
xx.add(3);
xx.add(5);
xx.add(7);
// 从arraylist中读取数据
int a = xx.get(1);
System.out.println(a);
System.out.println("------------------------");
// 遍历list: 将整个arraylist的数据按脚标顺序全部打印出来
for (int i = 0; i < xx.size(); i++) {
System.out.println(xx.get(i));
}
System.out.println("------------------------");
// 从list中移除数据
xx.remove(1);
for (int i = 0; i < xx.size(); i++) {
System.out.println(xx.get(i));
}
// 更改list中指定位置上的数据
xx.set(2, 15);
}
}
// ------------ 方法的模板代码------------------------ // -----------------------------//
public class FunctionDemo{
public int a;
public int b;
// 无参,无返回值 ---- 方法示例
public void sayHello(){
System.out.println("我爱你,真的,很爱");
}
// 无参,有返回值 ---- 方法示例
public int getSelfSum(){
return a+b;
}
// 有参,无返回值 ---- 方法示例
public void sayHelloToSomeOne(String name){
System.out.println(name + "我爱你,真的,很爱");
}
// 有参,有返回值,且是静态 ---- 方法示例
public static int getOtherSum(int x,int y){
return x+y;
}
// 有参,有返回值,非静态 ---- 方法示例
public int getOtherSum(int x){
return this.a+this.b+x;
}
}
public class FunctionDemoTest{
public static void main(String[] args){
// 非静态方法,必须在对象上调
FunctionDemo fd = new FunctionDemo();
fd.sayHello();
int selfSum = fd.getSelfSum();
fd.sayHelloToSomeOne("芙蓉姐姐");
// 静态方法可以在对象上调,但是没有必要
// int otherSum = fd.getOtherSum(5,8);
int otherSum = FunctionDemo.getOtherSum(5,8);
}
}
java列表数据基本操作的更多相关文章
- Java学习-054-Mybatis IN查询,通过 foreach 获取列表数据
通过如下语句查询商品订单信息: ,,,) 在 Mapper.java 中定义如下接口: List<GoodsOrder> findGoodsOrderByIds(String ids); ...
- 开源 免费 java CMS - FreeCMS1.9 移动APP生成网站列表数据
项目地址:http://www.freeteam.cn/ 生成网站列表数据 提取同意移动APP訪问的网站列表,生成json数据到/mobile/index.html页面. 从左側管理菜单点击生成网站列 ...
- 开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据
项目地址:http://www.freeteam.cn/ 生成栏目列表数据 提取当前管理网站下同意移动APP訪问的栏目列表,生成json数据到/site/网站文件夹/mobile/channels.h ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- Java列表
Java列表踩过的坑 其中subList是RandomAccessSubList,不是序列化的列表,不可以加入tair. 加入tair测试代码 @Autowired private CacheMana ...
- js数组(列表)的基本操作
本文主要介绍JS对数组(列表)的基本操作.习惯了用数据库的操作顺序来说明:增.删.改.查:合并,裁剪,排序,格式化. 一.数组元素的添加(增加) 增加数组元素有三种方法:unshift() push ...
- 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])
跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据]) 写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的 ...
- MyBatis基础:MyBatis数据基本操作(2)
1. MyBatis映射器 2. MyBatis数据基本操作 示例项目结构: <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...
- [Python 从入门到放弃] 1. 列表的基本操作
''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...
随机推荐
- dpkg用管道批量删除deb
dpkg -l |grep deepin|awk '{print $2}'|xargs sudo dpkg -P
- django - 总结 - cookie|session
Cookie是通过HTTP请求和响应头在客户端和服务器端传递的. 在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术. --------------------- ...
- [物理学与PDEs]第5章习题9 伴随矩阵的特征值
设 $3\times 3$ 阵 ${\bf A}$ 的特征值为 $\lm_1,\lm_2,\lm_3$, 证明 $\cof {\bf A}$ 的特征值为 $$\bex \lm_2\lm_3,\quad ...
- [物理学与PDEs]第1章习题3 常场强下电势的定解问题
在一场强为 ${\bf E}_0$ (${\bf E}_0$ 为常向量) 的电场中, 置入一个半径为 $R$ 的导电球体, 试导出球外电势所满足的方程及相应的定解条件. 解答: 设导电球体为 $B_R ...
- Linux vi 编辑器常见命令的使用
Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...
- sort与uniq命令详解
1.sort的作用 (排序) sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出. 如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行 ...
- python3 字典常见用法总结
python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...
- 肺结节CT影像特征提取(四)——肺结节CT影像特征提取MATLAB代码实现
之前的文章讲述了肺结节CT影像数据特征提取算法及基于MATLAB GUI设计的肺结节CT影像特征提取系统.本文将讲述几个主要部分的代码实现,分别是预处理.灰度特征提取.纹理特征提取.形态特征提取数据. ...
- Laravel -- 邮箱功能配置问题
```` 今天碰到了这块的问题,还是记一下 ```` 关于邮箱: 品牌:腾讯qq.网易163 等 种类:个人.企业 邮箱服务器种类 配置教程 https://jingyan.baidu.com/art ...
- VUE 多页面配置(二)
1. 概述 1.1 说明 项目开发过程中会遇到需要多个主页展示情况,故在vue单页面的基础上进行配置多页面开发以满足此需求,此记录为统一配置出入口. 2. 实例 2.1 页面配置 使用vue脚手架搭建 ...