Set是集合的意思,是同种对象的集合,<String>说明这种对象都是String类型的对象。
可以这样:
Set<String> set = new HashSet<String>();
String s1 = "hello";
String s2 = "world";
set.add(s1);
set.add(s2);
这样就添加了两个元素。
扩展资料:
Java中String类学习总结
一、String是不可变对象
java.lang.String类使用了final修饰,不能被继承。Java程序中的所有字面值,即双引号括起的字符串,如"abc",都是作为String类的实例实现的。String是常量,其对象一旦构造就不能再被改变。
例:
public class Immutable {
public static String upcase(String s) {
return s.toUpperCase();
}
public static void main(String[ ] args) {
String str1= "Hello World";
System.out.println(str1); //Hello World
String str2 = upcase(str1);
System.out.println(str2); //HELLO WORLD
System.out.println(str1); //Hello World
}
}
二、String常量池
常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。Java为了提高性能,静态字符串在常量池中创建,并尽量使用同一个对象,重用静态字符串。对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果常量池中存在即返回该对象。
例:
public class test1 {
public static void main(String[] args){
String str1 = "Hello";
//不会创建新的String对象,而是使用常量池中已有的"Hello",
String str2 = "Hello";
System.out.println(str1 == str2); //true
//使用new关键字会创建新的String对象
String str3 = new String("Hello");
System.out.println(str1 == str3); //false
}
}
Set<String>是一个保存String类型的集合,将一个String类型的字符串添加道Set中,方法如下:
Set<String> sets = new HashSet<>();
System.out.println(sets.add("String"));
System.out.println(sets.add("Tree"));
System.out.println(sets.add("String"));
add()方法会返回boolean值,true表示元素添加到了Set中,false表示集合中已存在相等的元素。
以上代码执行结果如下:
扩展知识
Set集合可以知道某物是否已近存在于集合中,不会存储重复的元素,注重独一无二的性质,用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。可以很好地作为排重时使用的数据结构,但要注意集合内部数据一般情况没有顺序。
常用的set有HashSet和TreeSet
<String>说明这种对象都是String类型的对象。
Set本身是接口,所以需要实现,可以这样定义:
Set<String> set = new HashSet<String>();
String s1 = "hello";
String s2 = "world";
set.add(s1);
set.add(s2);
这样就添加了两个元素。
HashSet是无序的,而TreeSet是有序的,s1和s2添加后会有按照比较的大小排序
(前提String可以比较大小……)
啊,大概就是这样,具体可以查看API文档~~~~~~