如何通过for循环添加对象到集合(防止数据覆盖)
2017-12-04 14:53
309 查看
import java.util.ArrayList;
import java.util.List;
public class Test {
static class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [name=" + name + "]";
}
}
public static void main(String[] args) {
{
List<Student> list01 = new ArrayList<>();
Student stu = new Student();
for (int i = 0; i < 3; i++) {
stu.setName("00" + i);
list01.add(stu);
}
System.out.println(list01);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
{
List<Student> list02 = new ArrayList<>();
Student stu = null;
for (int i = 0; i < 3; i++) {
stu = new Student();
stu.setName("00" + i);
list02.add(stu);
}
System.out.println(list02);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
{
List<Student> list03 = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Student stu = new Student();
stu.setName("00" + i);
list03.add(stu);
}
System.out.println(list03);
}
}
}
/**结果**/
[[Student [name=002], Student [name=002], Student [name=002]]-- for循环里面new对象
+++++++++++++++++++++++++++++++++++++++++++++
[Student [name=000], Student [name=001], Student [name=002]]-- for循环外面new对象
+++++++++++++++++++++++++++++++++++++++++++++
[Student [name=000], Student [name=001], Student [name=002]]-- for循环外面new对象
/**结论**/若要添加一组数据到集合,则要在for循环里面new对象,否则数据会被覆盖。
import java.util.List;
public class Test {
static class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [name=" + name + "]";
}
}
public static void main(String[] args) {
{
List<Student> list01 = new ArrayList<>();
Student stu = new Student();
for (int i = 0; i < 3; i++) {
stu.setName("00" + i);
list01.add(stu);
}
System.out.println(list01);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
{
List<Student> list02 = new ArrayList<>();
Student stu = null;
for (int i = 0; i < 3; i++) {
stu = new Student();
stu.setName("00" + i);
list02.add(stu);
}
System.out.println(list02);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
{
List<Student> list03 = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Student stu = new Student();
stu.setName("00" + i);
list03.add(stu);
}
System.out.println(list03);
}
}
}
/**结果**/
[[Student [name=002], Student [name=002], Student [name=002]]-- for循环里面new对象
+++++++++++++++++++++++++++++++++++++++++++++
[Student [name=000], Student [name=001], Student [name=002]]-- for循环外面new对象
+++++++++++++++++++++++++++++++++++++++++++++
[Student [name=000], Student [name=001], Student [name=002]]-- for循环外面new对象
/**结论**/若要添加一组数据到集合,则要在for循环里面new对象,否则数据会被覆盖。
相关文章推荐
- javascript对象是对象是无序数据的集合,如何通过实验体验它无序
- 一个ArrayList<Integer>的一个对象,我想在这个集合中添加一个字符串数据,如何实现呢
- 如何防止在ListBox中添加很多数据出现不停的刷新?
- PHP如何通过Http Post请求发送Json对象数据?
- 如何防止XMLHttpRequest对象传回的中文数据中出现乱码?
- 黑马程序员 :(反射应用 )通过反射讲<Integer>类型的集合中添加一个<String>类型的数据
- 如何在通过knockout数据绑定的DOM元素上添加事件
- 如何防止XMLHttpRequest对象传回的中文数据中出现乱码
- .net2005 datagridview 如何获取值改变的单元格的集合??(小弟没有为datagridview添加数据源,也就是说单元格中的数据是手工录入的)
- 如何使用 Visual C# 2005 或 Visual C# .NET 通过 DataSet 对象更新数据库
- 如何直接通过jquery为获取的对象添加事件?
- 如何在已经绑定数据的dataGridView对象中动态添加记录?
- 如何向postgreSQL中添加bytea类型的大对象数据
- C#下如何通过不添加对Office的引用,而创建Excel对象
- 在dva中如何不通过yield发送封装的请求并且获取返回的promise对象中的数据
- 如何防止在listbox中添加很多数据出现不停的刷新
- 防止覆盖集合中的数据
- 通过jdbcTemplate如何返回自定义的对象集合,以及在java中如何遍历这个集合
- SpringMvc中如何通过Ajax方式提交对象数据
- 如何通过Arcpy打开mxd文档并添加数据