我已经用suppliernumbers填充了ArrayList
个字符串。此列表包含重复值,因此我想使用HashSet
删除它们。
我收到以下错误:表达式无效为语句 在线=>设置set = new HashSet(leveranciers); (设置下划线) 知道为什么吗?
String[] leveranciers = new String[wdContext.nodeShoppingCart().size()];
for(int i = 0; i<wdContext.nodeShoppingCart().size(); i++){
String productnumber = wdContext.nodeShoppingCart().getShoppingCartElementAt(i).getMatnr()
wdThis.wdGetAchatsIndirectController().GetDetails(productnumber, "NL");
leveranciers[i] = wdContext.currentEt_DetailsElement().getLifnr();
}
//Remove duplicates from array
Set<String> set = new HashSet<String>(leveranciers);
set.toArray(new String[0]);
for(int y = 0; y<set.size();y++){
PdfPTable table = GetTable(set[y]);
byte[] pdf = wdThis.wdGetAchatsIndirectController().GetPDFFromFolder("/intranetdocuments/docs/AchatsIndirect", table);
wdThis.wdGetAchatsIndirectController().PrintPDF(pdf);
}
答案 0 :(得分:2)
HashSet没有接受数组的构造函数。 看看HashSet文档。 http://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html
您可以使用Arrays.asList
方法实现目标:
final String[] strings = new String[] {"ab", "ba", "ab"};
final Set<String> set = new HashSet<String>(Arrays.asList(strings));