List集合里的add方法. 表示向集合里添加元素. 主要有下面2种情况。
add(E e) 向列表的尾部添加指定的元素。 返回值是boolean类型 。
add(int index, E element) 在列表的指定位置插入指定元素。 返回值是void。
下面以ArrayList为例,写1个例子。
import java.util.ArrayList;。
public class Demo {。
public static void main(String[] args) {。
ArrayList<String> list = new ArrayList<>();。
list.add("a");。
list.add("c");。
System.out.println(list);。
list.add(1,"b");//向指定的位置1,插入元素 b . (*注意java位置索引是从0开始的)。
System.out.println(list);。
list.add("d");//向集合尾部添加元素d。
System.out.println(list);。
}
输出
[a, c]
[a, b, c]
[a, b, c, d]
1.该方法用于向集合列表中添加对象。
语法1 用于在列表的尾部插入指定元素。如果List集合对象由于调用add方法而发生更改,则返回 true;否则返回false。add(E e) e:要添加到列表中的元素。
示例:使用List接口的实现类ArrayList初始化一个列表对象,然后调用add方法向该列表中添加数据。
2.public static void main(String[] args) {。
List<String> list=new ArrayList<String>();。
list.add("保护环境"); //向列表中添加数据。
list.add("爱护地球"); //向列表中添加数据。
list.add("从我做起"); //向列表中添加数据。
//通过循环输出列表中的内容。
for(int i=0;i<list.size();i++){。
System.out.println(i+":"+list.get(i));。
}
运行结果如图1.10所示。
3.语法2 用于在列表的指定位置插入指定元素,并将当前处于该位置的元素及其后续元素的索引加1。void add(int index, E element)。
index:用于指定在其中插入指定元素处的索引。
element:用于指定要插入的元素。
索引值从0开始。
4.典型应用 本示例定义List类型集合变量,并使用add方法向集合的末尾与集合的指定位置添加元素,然后将添加后的元素输出。运行结果如图1.11所示。
在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:
2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:
拓展资料:
1.List.add() 和 List.addAll() 的区别:
(1)List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1);程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。
(2) 例如:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小是3。
(3)List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。
(4)List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。
(5) 这时:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。
2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。
参考资料:Java List_百度百科。
不明白你为什么这些写
for(int i=0;i<10;i++)。
{
//params需要重新声明,重新赋予指针。
params = new string[];。
dataDAO mydao = new dataDAO();。
params[0] = "test0"+i;。
params[1] = "test1"+i;。
//赋值后测试数据,正常。
mydao.setParams(params);。
//在这里测试数据也正常。
list.add(mydao);。
}
个人建议,你通过调用testAdd方法对list序列赋值,否则。
params[0] = "test0"+i;。
params[1] = "test1"+i;。
这段语句无意义~
jdk
1.5
支持自动装箱和自动脱箱了。
所谓自动装箱,就是原始数据类型(int,。
long,
double,
float,
boolean等),在需要的时候自动封装成对应的类的对象(Integer,。
Long,
Double,
Float,
Boolean等);
自动脱箱,即在需要的时候自动将原始数据封装类的对象转换为原始数据类型。
例如:
List
iList
new
ArrayList
();
int
1;
iList.add(i);//自动装箱,这里add方法需要一个Integer的对象,而我们可以直接使用int类型的变量。
//java自动装箱机制自动将i从int原始类型转换成它的封装类Integer的对象。
int
iList.get(0);
//
自动脱箱,这里get方法返回的是一个Integer的对象,而我们可以直接将其赋值给int类型的变量,java自动脱箱机制自动将Integer对象转换成int类型的变量。
明白了自动装箱和脱箱机制后,就很好解释你的问题了。
list.add()方法需要一个Object对象的参数,而int并不是Object的对象,Integer,String才是Object的子类,因此:
list.add(1)
1是int原始数据类型,自动装箱了,是添加的一个Integer的对象。
list.add("1")
"1"本身就是String的对象,是添加了字符串的1。