Java 将链表复制到数组
我该如何像我的老师所说的那样“把你的链表复制到一个无序的数组中”?我不知道是否应该使用迭代器,但迭代器不是只将链表复制到另一个链表吗?欢迎任何帮助Java 将链表复制到数组,java,arrays,linked-list,Java,Arrays,Linked List,我该如何像我的老师所说的那样“把你的链表复制到一个无序的数组中”?我不知道是否应该使用迭代器,但迭代器不是只将链表复制到另一个链表吗?欢迎任何帮助 import java.io.File; import java.io.FileNotFoundException; import java.util.Iterator; import java.util.Scanner; import jsjf.*; public class Hw10 { public static void main(S
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.Scanner;
import jsjf.*;
public class Hw10
{
public static void main(String[] args) throws FileNotFoundException
{
//-------------------------------------------------
//Stack
//-------------------------------------------------
ArrayListStack <Names> transactions = new ArrayListStack<>();
//-------------------------------------------------
//Linked List
//-------------------------------------------------
LinkedUnorderedList<Names> list = new LinkedUnorderedList<>();
//-------------------------------------------------
// File Scanner
//-------------------------------------------------
Scanner fileScan = new Scanner(new File("input.txt"));
//-------------------------------------------------
//Variables that the scanner will read in
//-------------------------------------------------
int code;
String name;
int age;
Names obj;
//-------------------------------------------------
//While Loop to read in file adding to the stack and linked list
//-------------------------------------------------
while(fileScan.hasNext())
{
code = fileScan.nextInt();
if(code == 3)
{
name = fileScan.next();
age = fileScan.nextInt();
obj = new Names(name,age);
transactions.push(obj);
}
else if (code == 1)
{
name = fileScan.next();
age =fileScan.nextInt();
obj = new Names(name,age);
list.addToFront(obj);
}
}
/*
System.out.print(list.toString());
System.out.print("-------------");
System.out.print(transactions.toString());
*/
//-------------------------------------------------
//iterator / copy / queue-- copy linked list into unordered array
//-------------------------------------------------
ArrayListQueue <Names> aq = new ArrayListQueue();
}
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Iterator;
导入java.util.Scanner;
导入jsjf.*;
公共级Hw10
{
公共静态void main(字符串[]args)引发FileNotFoundException
{
//-------------------------------------------------
//堆叠
//-------------------------------------------------
ArrayListStack事务=新的ArrayListStack();
//-------------------------------------------------
//链表
//-------------------------------------------------
LinkedUnorderedList=新建LinkedUnorderedList();
//-------------------------------------------------
//文件扫描器
//-------------------------------------------------
Scanner fileScan=new Scanner(新文件(“input.txt”);
//-------------------------------------------------
//扫描仪将读取的变量
//-------------------------------------------------
int代码;
字符串名;
智力年龄;
名称obj;
//-------------------------------------------------
//同时循环读取添加到堆栈和链表中的文件
//-------------------------------------------------
while(fileScan.hasNext())
{
code=fileScan.nextInt();
如果(代码==3)
{
name=fileScan.next();
age=fileScan.nextInt();
obj=新姓名(姓名、年龄);
事务推送(obj);
}
else if(代码==1)
{
name=fileScan.next();
age=fileScan.nextInt();
obj=新姓名(姓名、年龄);
列表。addToFront(obj);
}
}
/*
System.out.print(list.toString());
系统输出打印(“--------------”;
System.out.print(transactions.toString());
*/
//-------------------------------------------------
//迭代器/copy/queue——将链表复制到无序数组中
//-------------------------------------------------
ArrayListQueue aq=新的ArrayListQueue();
}
您可以在一行代码中完成此操作
假设您有这样一个列表:
List<Names> transactions;
如果需要随机化顺序,只需先调用Collections.shuffle()
:
Collections.shuffle(transactions);
您可以在一行代码中完成此操作 假设您有这样一个列表:
List<Names> transactions;
如果需要随机化顺序,只需先调用Collections.shuffle()
:
Collections.shuffle(transactions);
为什么不问问他们呢?无序数组就是在其中调用集合的数组。shuffle()。循环通过
链接列表
,将每个元素添加到数组
。为什么不问问他们呢?无序数组就是调用集合的数组。shuffle()循环浏览链接列表
,并将每个元素添加到数组
。