关注使用JAVA
我的txtfile(库 - 充当数据库)包含以下内容;
L7232-TRJCD5/ | FT1 | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCD5/ | FT2 | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCE5/ | FT2 | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCEJ/ | FT1 | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCEJ/ | QA | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCEJ/ | QA1 | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
L7232-TRJCEJ/ | QA | 4 | NS70 | QUAD | Fusion | 70C_VPLGA88
使用缓冲读卡器和扫描仪功能后 lines是变量。
下一步是使用下面的分割;
String[] Tokens = lines.split("\\\|");
System.out.println(Tokens[1]);
输出显示如下;
FT1
FT2
FT2
FT1
QA
QA1
QA
我担心,因为输出结构为下一行 我被迫要求删除重复项。 这意味着我不知道如何使用它来进行下一步。
对建议和解决方案持开放态度。
答案 0 :(得分:0)
只需使用一组字符串来存储代码。根据定义,一个集合不能有重复,因此这应该可以解决您的特定问题。
SortedSet<String> set = new TreeSet<>();
for (String line : lines) {
String[] tokens = line.split("\\|");
set.add(tokens[1]);
}
现在迭代这个有序集应该产生按字母顺序升序排序的唯一输出:
for (String token : set) {
System.out.println(token);
}
答案 1 :(得分:0)
将输出的所有元素放入数组列表中,然后使用Set删除重复项:
List<String> arrayList = Arrays.asList(Tokens);
Set<String> set = new HashSet<String>(arrayList);
for(String str : set){
System.out.println(str);
}