新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在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_百度百科
Student.java //学生对应的实体类
public class Student {
/**
* 学号
*/
private String studentId;
/**
* 姓名
*/
private String studentName;
public Student(String studentId, String studentName) {
this.studentId = studentId;
this.studentName = studentName;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
}
Start.java //演示程序
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Start {
static ListStudent list=new ArrayListStudent();
public static void main(String[] args) throws IOException {
list.add(new Student("001","aa"));
list.add(new Student("002","bb"));
list.add(new Student("003","cc"));
list.add(new Student("004","dd"));
new Start().showMenu();
}
public void showMenu() throws IOException{
System.out.println("==========================");
System.out.println("1.查阅全部学生信息");
System.out.println("2.增加学生信息");
System.out.println("3.修改学生信息");
System.out.println("4.删除学生信息");
System.out.println("5.退出");
System.out.println("==========================");
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String order=reader.readLine();
String id;
String name;
boolean exist=false;
switch (order) {
case "1":
for(Student s:list){
System.out.println("学号:"+s.getStudentId()+"\t姓名:"+s.getStudentName());
}
break;
case "2":
System.out.print("请输入学号:");
id=reader.readLine();
System.out.println();
System.out.print("请输入姓名:");
name=reader.readLine();
list.add(new Student(id, name));
break;
case "3":
System.out.print("请输入要修改学生的学号:");
id=reader.readLine();
for(Student s:list){
if(s.getStudentId().equals(id)){
System.out.print("请输入学号:");
id=reader.readLine();
System.out.print("请输入姓名:");
name=reader.readLine();
s.setStudentId(id);
s.setStudentName(name);
exist=true;
break;
}
}
System.out.println(exist==true?"修改成功":"该学号不存在");
break;
case "4":
System.out.print("请输入要修改学生的学号:");
id=reader.readLine();
for(int i=0;ilist.size();i++){
if(list.get(i).getStudentId().equals(id)){
list.remove(i);
exist=true;
break;
}
}
System.out.println(exist==true?"删除成功":"该学号不存在");
break;
case "5":
System.exit(0);
System.out.println("bye……………………");
break;
default:
System.out.println("请输入正确的命令");
break;
}
showMenu();
}
}
运行Start
执行效果
import java.util.Iterator;
public class MyArrayList {
Object[] arr;
int size=0;
public MyArrayList(){
this(10);
}
public MyArrayList(int R){
arr=new Object[R];
}
public int size() {
return size;
}
public void add(Object obj){
if(arr.length=size+1){
arr[size]=obj;
size++;
}else{
int i=arr.length*3/2+1;
Object[] a2=new Object[i];
System.arraycopy(arr,0,a2,0, size);
a2[size]=obj;
size++;
arr=a2;
}
// if(arr.lengthsize+1){
// Object[] a=new Object[size*3/2+1];
// System.arraycopy(arr, 0, a, 0, size);
// arr=a;
// }
// arr[size]=obj;
// size++;
//}
}
public Object get(int i){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
return arr[i];
}
}
public Object set(int i,Object obj){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
size++;
Object o=arr[i];
for(int j=size-1;ji;j--){
arr[j]=arr[j-1];
}
arr[i]=obj;
return o;
}
}
public Object remove(int i){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
Object o=arr[i];
for(int j=i;jsize-1;j++){
arr[j]=arr[j+1];
}
size--;
// System.arraycopy(arr, i+1, arr, i,size-(i+1));
// arr[--size]=null;
return o;
}
}
public Iterator iterator(){
return new MyIterator();//创建迭代器并以父接口类型返回
}
private class MyIterator implements Iterator{//在内部类中可以不
int index=0;
public boolean hasNext(){
return indexsize;
}
public Object next(){
return arr[index++];
}
public void remove(){
MyArrayList.this.remove(index);//内部类调用外部类的方法
}
}
}
//注释为可替换代码
package list;
import java.util.ArrayList;
//这是关于List用法,代表性的有LinkedList,ArrayList,Vector用法类似
public class ArrayListTest {
/**
* @param args
*/
public static void main(String[] args) {
ArrayListString list = new ArrayListString();
//添加
list.add("三国演义");
list.add("西游记");
list.add("水浒传");
list.add("红楼梦");
//修改
list.set(0, "三国志");
//查询某个元素是否存在
boolean flag = list.contains("西游记");
System.out.println(flag);
//删除
list.remove(2);//list.remove("水浒传");
//遍历
int size = list.size();
for ( int i=0; isize; i++)
{
String str =(String)list.get(i);//得到某个位置的元素
System.out.println(str);
}
}
}
////////////////////////下面是排序的
package list;
import java.util.ArrayList;
import java.util.Collections;
//这是关于List用法,代表性的有LinkedList,ArrayList,Vector用法类似
//排序
//Collections可以排序,还可以得到最大,最小数值,还可以将集合反转
public class SortListTest {
/**
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) {
ArrayList list = new ArrayList();
//添加
list.add(45);
list.add(67);
list.add(87);
list.add(23);
list.add(67);
Collections.sort(list);//升序
//Collections.sort(list,Collections.reverseOrder());//降序
//遍历
int size = list.size();
for ( int i=0; isize; i++ )
{
Integer str =(Integer)list.get(i);//得到某个位置的元素
System.out.println(str);
}
}
}