概述:
他是Set集合典型实现类HashSet的子类,继承了set集合的所有功能和特点,同时把其中的重要特点给修改,把无序变为有序。
特点:
1、有序
2、无索引
3、元素不可重复
使用场景:
去重的同时可以保证元素的有序
代码示例
import java.util.LinkedHashSet;
public class LinkedHashSetDemo {
public static void main(String[] args) {
//创建LinkedHashSet对象
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
//向集合中添加元素
linkedHashSet.add("Hello");
linkedHashSet.add("Hello");
linkedHashSet.add("JAVA");
linkedHashSet.add("HI");
linkedHashSet.add("java");
System.out.println(linkedHashSet);
}
}
练习
键盘录入一个字符串,输出其中的字符,相同字符只输出一次,要求保证原录入顺序
分析:
键盘录入的是字符串
操作的是字符【字符串的内容】
先得把字符串变为一个个的字符
【1、字符串变为字符数组 2、直接遍历字符串】
去重【set集合】 要保证顺序 使用LinkedHashSet
步骤:
1、键盘录入字符串
2、字符串变为一个一个的字符
3、创建集合 把得到的字符存入即可
代码示例;
import java.util.LinkedHashSet;
import java.util.Scanner;
import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;
public class LinkedHashSetTest {
public static void main(String[] args) {
//创建键盘录入对象
Scanner scanner = new Scanner(System.in);
//开始录入
System.out.println("请书写一个字符串:");
String str = scanner.nextLine();
//创建LinkedHashSet独享
LinkedHashSet<Character> linkedHashSet = new LinkedHashSet<Character>();
//遍历集合
for (int i = 0; i < str.length(); i++) {
linkedHashSet.add(str.charAt(i));
}
System.out.println(linkedHashSet);
}
}