Set
java中的set接口有如下的特点:
不允许出现重复元素;
集合中的元素位置无顺序;
有且只有一个值为null的元素。
Iterator
Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。
Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。
迭代器 it 的两个基本操作是 next 、hasNext 和 remove。
调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。
调用 it.hasNext() 用于检测集合中是否还有元素。
调用 it.remove() 将迭代器返回的元素删除。
Iterator 类位于 java.util 包中,使用前需要引入它,使用如下
用set保存s的子串,然后利用Iterator迭代器输出子串,最后因为set保存的是无重复元素,所以set.size()方法直接就可以得到子串的数目,本题考查串的相关知识
package questions._2019JavaB;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class _02不同子串 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Set<String> set = new HashSet<String>();
String s="0100110001010001";
for(int i=0;i<s.length();i++) {
for(int j=i;j<s.length();j++) {
set.add(s.substring(i, j+1));
}
}
Iterator<String> iterator=set.iterator();
//获取迭代器
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println(set.size());
}
}