我正在使用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());
}
}
答案 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();
如果需要,您需要拆分字符串。 (如果他们需要进入单独的领域