【发布时间】:2016-11-14 00:32:09
【问题描述】:
我遇到的问题是我正在从文件中读取数据(很好)到程序中并将数据安排到堆栈中(也很好)但是我在尝试解决如何避免输入任何重复数据时遇到问题进入堆栈。
我四处询问并被建议使用一个集合,我有,但我不知道如何将数据从集合中取出并放入堆栈
Stack<String> stack1 = new Stack<String>();
Stack<String> stack2 = new Stack<String>();
Set<String> duplicateCheck = new HashSet<String>();
try
{
//Read file
File myFile = new File("TestData.txt");
FileReader fr = new FileReader(myFile);
BufferedReader br = new BufferedReader(fr);
String line = null;
int count = 0;
while((line = br.readLine()) != null)
{
StringTokenizer st = new StringTokenizer(line,",");
while(st.hasMoreElements())
{
duplicateCheck.add(st.nextToken());
if(count < 9)
{
stack1???????????????;
}
if(count >9 && count <19)
{
stack2???????????????;
}
if(count >= 19)
{
System.out.println("Capacity has been reached");
}
count++;
}
}
这是我目前拥有的代码(减去所有问号),如果有人能指出我可能出错的地方,我将不胜感激
【问题讨论】:
-
您对堆栈大小有什么要求(即为什么要检查计数)?您可以简单地在循环中填充 Set 并在循环结束后将其添加到堆栈中。