将ArrayList转换为String

时间:2013-10-24 15:47:39

标签: java string arraylist jsoup

我正在使用JSoup从HTML表中抓取数据,然后将其存储到ArrayList中。然后,我想将这些值存储在SQL数据库中。根据我的理解,这些必须先转换为String,然后才能插入数据库。我如何将这些ArrayLists转换为String?

这是我目前的代码:

    Document doc = Jsoup.connect(URL).timeout(5000).get();

    for (Element table : doc.select("table:first-of-type")) 
    {
        for (Element row : table.select("tr:gt(0)")) { 
            Elements tds = row.select("td");

            List1.add(tds.get(0).text());
            List2.add(tds.get(1).text());
            List3.add(tds.get(2).text());
        }
    }

3 个答案:

答案 0 :(得分:2)

要获得所需的所有值,您可以非常轻松地遍历列表:

public static void main(String[] args) {
    List<String> List1 = new ArrayList<>();
    for (String singleString : List1){
        //Do whatever you want with each string stored in this list
    }
}

答案 1 :(得分:0)

Java集合框架没有提供任何直接的实用工具方法来将ArrayList转换为Java中的String。但是以依赖注入及其IOC容器而闻名的Spring框架也为API提供了常见的实用程序,例如在Java中将Collection转换为String的方法。您可以使用Spring Framework的StringUtils类将ArrayList转换为String。 StringUtils类提供了三种转换任何集合的方法

e.g。 Java中的ArrayList到String,如下所示:

public static String collectionToCommaDelimitedString(Collection coll)
public static String collectionToDelimitedString(Collection coll, String delim)
public static String collectionToDelimitedString(Collection coll, String delim, String  prefix, String suffix)

得到它....

答案 2 :(得分:0)

嗯,我不确定是否有一些特殊的方式来实现你的要求。 您需要遍历数组。您可以使用StringBuilder而不是String进行一些优化。我不确定你会在性能方面获得多大提升......

无论如何这就是代码看起来的样子..

StringBuilder sb = new StringBuilder();
for (Object o : list1){
  sb.append(o.toString()+delimiter); // delimiter could be , or \t or || 

 //You could manipulate the string here as required..
 //  enter code here`
}
return sb.toString();

如果需要,您需要拆分字符串。 (如果他们需要进入单独的领域