母线同杆架设数据结构转换小计
来源:互联网 发布:希尔排序算法详细 编辑:程序博客网 时间:2024/04/29 18:01
卡了一俩个消失,幸得大神指导,感恩分享:
List<String[]> list = service.getList(); List<String[]> dataList = new ArrayList<>(); if ((list != null) && (!list.isEmpty())) { dataList.add(list.get(0)); } for (int i = 1; i < list.size(); i++) { String[] syg = dataList.get(dataList.size() - 1); String[] dqh = list.get(i); if (dqh[0].equals(syg[0])) { syg[1] += ";" + dqh[1]; } else { dataList.add(dqh); } }
将数据库如下:
转换成如下的结构:
关于上面代码的一些重要提示:
为什么将datelist的上一个的值给数组时,在循环内数组中的值改变,它的数据源datalist中的值就发生改变?
1、 按值传递(by value)
适用范围:8种基本数据类型、String对象
特点:在内存中复制一份数据,把复制后的数据传递到方法内部
作用:在方法内部改变参数的值,外部数据不会跟着发生改变
2、 按址传递(by address)
适用范围:数组、除String以外的其他所有类型的对象
特点:将对象的地址传递到方法内部
作用:在方法内部修改对象的内容,外部数据也会跟着发生改变
适用范围:8种基本数据类型、String对象
特点:在内存中复制一份数据,把复制后的数据传递到方法内部
作用:在方法内部改变参数的值,外部数据不会跟着发生改变
2、 按址传递(by address)
适用范围:数组、除String以外的其他所有类型的对象
特点:将对象的地址传递到方法内部
作用:在方法内部修改对象的内容,外部数据也会跟着发生改变
这是java语法的规定!
string[]是数组,属于按址传递,也就是把string[]的地址传递到了for循环的内部,在循环内部修改数组中的值时,原来的内容也发生改变。
以上特性是Java语言中的规定,在语法上无法指定参数传递是按值传递还是按址传递,但是可以通过下面的变换实现:
1、 对于按值传递的参数,如果需要在方法调用以后修改参数的值,可以利用返回值来实现。
2、 对于按值传递的参数,如果需要在方法内部修改时原来的参数不改变,则可以在方法内部重新创建该对象实现。
1、 对于按值传递的参数,如果需要在方法调用以后修改参数的值,可以利用返回值来实现。
2、 对于按值传递的参数,如果需要在方法内部修改时原来的参数不改变,则可以在方法内部重新创建该对象实现。
阅读全文
0 0
- 母线同杆架设数据结构转换小计
- 小计
- 小计
- 时频母线定义
- 数据库实现同数据结构的关系
- hadoop的rpc同异步转换原理
- 数据结构转换 协议的转换
- 进位制转换【数据结构】
- 常见数据结构转换
- win 数据结构数据类型转换
- 数据结构:数制转换
- 数据结构—进制间转换
- QT数据结构转换
- 3.数据结构、类型转换
- oracle小计
- 学习小计
- ISPCP 小计
- SMARTFORMS 小计
- 如何免费获取ssl证书,https证书
- 把二叉搜索树转化成更大的树-LintCode
- idea如何设置类头注释和方法注释
- 2017/11/15C语言作业
- 别让Android Studio的缓存文件占据你的C盘
- 母线同杆架设数据结构转换小计
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长
- JS文件中的中文在网页上显示为乱码解决方法
- python django-blog-zinnia
- mysql死锁问题分析
- msql性能优化的21个最佳实践和mysql索引的使用
- 解决SpringView与CoordinatorLayout和AppBarLayout嵌套使用的上下滑动冲突问题
- ImportError: bad magic number in 'csv': b'\x03\xf3\r\n'
- 输入数据