去重统计
使用一个List集合存储多个元素。计算集合中共有多少个不重复元素并输出。
public class Repetition {
//使用一个List集合存储多个元素。计算集合中共有多少个不重复元素并输出。
public static void main(String[] args) {
List<String> list = List.of("null","a","b","c","a","1","d","e","c");
Set<String> unrepetion = new HashSet<String>();
int count = 0;
for(String str : list){
if(!unrepetion.contains(str)){
unrepetion.add(str);
}
else{
count++;
}
}
System.out.println("不重复的元素是" + (unrepetion.size()-count) + "个");
}
}
交集计算
有两个List集合, 计算两个集合的交集元素。
public class Intersection {
//有两个List集合, 计算两个集合的交集元素。
public static void main(String[] args) {
List<String> l = new ArrayList<>();
l.add("喜");
l.add("欢");
l.add("的");
l.add(null);//会自动忽略
l.add("null");
l.add("少");
l.add("年");
List<String> l1 = new ArrayList<>();
l1.add("小");
l1.add("小");
l1.add("少");
l1.add("年");
int minlength = l.size() < l1.size() ? l.size() : l1.size();
Vector vector = new Vector();
for (int i =0;i < minlength;i++){
if(l.contains(l1.get(i))){
vector.add(l1.get(i));
}
}
System.out.println(vector);
}
}
差集运算
有两个List集合, 计算第一个集合对第二个集合的差集元素。
public class Difference {
//有两个List集合, 计算第一个集合对第二个集合的差集元素。
public static void main(String[] args) {
List<String> lis1 = List.of("小","小","少","年");
List<String> lis2 = List.of("少","年","的","喜","欢");
List<String> difference = new ArrayList<>(lis1);
difference.removeAll(lis2);
System.out.println("差集元素:" + difference);
}
}
对称差集运算
有两个List集合, 计算两个集合的对称差集元素。
public class symmetricDifference {
//有两个List集合, 计算两个集合的对称差集元素。
public static void main(String[] args) {
List<String> lis1 = List.of("小","小","少","年");
List<String> lis2 = List.of("少","年","的","喜","欢");
//求并集
Set<String> s1 = new HashSet<>(lis1);
s1.addAll(lis2);
System.out.println(s1);
//求交集
Set<String> s2 = new HashSet<>(lis1);
s2.retainAll(lis2);
System.out.println(s2);
//对称差集
s1.removeAll(s2);
System.out.println(s1);
}
}
并集
有两个List集合, 计算两个集合的并集元素。
public class Union {
public static void main(String[] args) {
//有两个List集合, 计算两个集合的并集元素。
List<String> list1 = List.of("小","小","少","年");
List<String> list2 = List.of("少","年","的","喜","欢");
Set<String> set1 = new HashSet<>(list1);
set1.addAll(list2);
System.out.println(set1);
}
}
移除集合元素
使用Set集合存储多个字符串,移除其中长度为奇数的字符串
public class RemoveOdd {
//使用Set集合存储多个字符串,移除其中长度为奇数的字符串
public static void main(String[] args) {
Set<String> stringSet = new HashSet<>();
stringSet.add("apple");
stringSet.add("banana");
stringSet.add("orange");
stringSet.add("kiwi");
System.out.println("原始集合" + stringSet);
Iterator<String> iterator =stringSet.iterator();
while (iterator.hasNext()){
String str = iterator.next();
if(str.length() % 2 !=0){
iterator.remove();
}
}
System.out.println("删除后的集合" + stringSet);
}
}
统计字符出现的次数
使用集合统计一段文本中各个字符出现的次数。
public class Count {
//使用集合统计一段文本中各个字符出现的次数。
public static void main(String[] args) {
String text = "Hello,World!";
Set<Character> s1 = new HashSet<>();
List<Character> l1 = new ArrayList<>();
for (Character str : text.toCharArray()){
if(!s1.contains(str)){
s1.add(str);
}
}
for (Character str : text.toCharArray()){
l1.add(str);
}
System.out.println(s1);
for (Character str : s1){
int count = 0;
for(Character str1 :l1){
if(str == str1){
count++;
}
}
System.out.println(str +"出现的次数是" +count);
}
}
}