Java 如何在没有重复单词的情况下将单词存储到数组/数组列表中
对于我正在制作的这个程序,我需要从txt文件中快速阅读句子,并将单词存储到数组/列表中。我陷入困境的地方是不能重复单词,而且还要为单词在数组中的位置、单词在每个句子中的位置以及单词总数创建数组。一旦我完成了数组,我必须让用户询问他们想看哪句话,并为他们打印出来Java 如何在没有重复单词的情况下将单词存储到数组/数组列表中,java,arrays,arraylist,file-io,Java,Arrays,Arraylist,File Io,对于我正在制作的这个程序,我需要从txt文件中快速阅读句子,并将单词存储到数组/列表中。我陷入困境的地方是不能重复单词,而且还要为单词在数组中的位置、单词在每个句子中的位置以及单词总数创建数组。一旦我完成了数组,我必须让用户询问他们想看哪句话,并为他们打印出来 import java.util.*; import java.io.*; public class CSC240_Week1MsgMapping { public static void main(String[] args)
import java.util.*;
import java.io.*;
public class CSC240_Week1MsgMapping
{
public static void main(String[] args) throws IOException
{
Scanner kb = new Scanner(System.in);
System.out.print("Enter name of a file");
String filename = kb.nextLine();
File file = new File(filename);
Scanner inputFile = new Scanner(file);
ArrayList<String> msgs = new ArrayList<String>();
while(inputFile.hasNext())
{
msgs.add(inputFile.nextLine());
当我试图不复制列表中的对象时,我总是使用HashMap,因为对于其中一个,它有containsObject ob方法,如果HashMap已经有对象ob,则返回true,这在您的情况下很有用 在您的例子中,我建议您使用HashMap,字符串将是某个单词,而ArrayList将是该单词所有位置的列表 另外,在插入单词之前,您需要使用map.containsSwarm方法检查它是否已经在HashMap中,如果单词存在,您只需将位置添加到ArrayList realtive中,并将其添加到单词map.getword.addposition中,如果单词不存在,这意味着您需要将单词添加到HashMap,然后继续添加其位置 最后,要获得某个单词的计数,只需使用ArrayList ex:map.getword.size的size方法