Set集合的练习
2017-11-16 22:31
169 查看
练习1:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
分析:
键盘输入,创建键盘对象以0结束----while条件,输入0则break跳出循环
由于不知道元素的个数,长度不固定,必须用集合;
不能用数组原因:数组长度固定,由于不知道数据的个数 ;
TreeSet集合具有自然排序的功能
代码
package 测试2;
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
/*
* *****************************
* 思考1:如果要统计最大值的个数,该怎么办?
* 分析:此时显然用TreeSet不行,那怎么办?
* 可以用ArrayList存储元素,然后将集合转化成数组; 利用数组的方法进行排序,找到最大值,对数组遍历统计最大值个数
* *******************************
* 思考2:
* 如果要将字符串(数字)进行排序呢?
* 已知字符串(数字),以空格隔开-----String的split方法,转换成字符串的数组
* 然后利用Integer的parseInt方法将数字字符串转换成整型
*/
public class DemoHomeWork {
public static void main(String[] args) {
// 创建集合,存储元素
TreeSet<Integer> set = new TreeSet<Integer>();// 无参:默认自然排序
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("请输入数据:");
int a = sc.nextInt();// 存储变量
set.add(a);
if (a == 0) {
break;
}
}
// 元素输入完了,以0结束
//方法1
System.out.println("元素排序为:" + set);
Object[] obj=set.toArray();
System.out.println(obj[obj.length-1]);//多态形式
//方法2
/**
* 或者:说明:<T> T[] toArray(T[] a)------T=Integer
*/
Integer[] arr = set.toArray(new Integer[set.size()]);
System.out.println("最大值为:" + arr[arr.length - 1]);
// 或者
System.out.println("最大值为:" + arr[arr.length - 1].intValue());
// 方法3
//创建迭代器对象----迭代器遍历过程中找到最大值(依赖于TreeSet排序)
Iterator<Integer> it=set.iterator();
while(it.hasNext()){
Integer temp=it.next();
if(it.hasNext()==false){
System.out.println("最大值为:"+temp);
}
}
}
}
未完待续......
分析:
键盘输入,创建键盘对象以0结束----while条件,输入0则break跳出循环
由于不知道元素的个数,长度不固定,必须用集合;
不能用数组原因:数组长度固定,由于不知道数据的个数 ;
TreeSet集合具有自然排序的功能
代码
package 测试2;
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
/*
* *****************************
* 思考1:如果要统计最大值的个数,该怎么办?
* 分析:此时显然用TreeSet不行,那怎么办?
* 可以用ArrayList存储元素,然后将集合转化成数组; 利用数组的方法进行排序,找到最大值,对数组遍历统计最大值个数
* *******************************
* 思考2:
* 如果要将字符串(数字)进行排序呢?
* 已知字符串(数字),以空格隔开-----String的split方法,转换成字符串的数组
* 然后利用Integer的parseInt方法将数字字符串转换成整型
*/
public class DemoHomeWork {
public static void main(String[] args) {
// 创建集合,存储元素
TreeSet<Integer> set = new TreeSet<Integer>();// 无参:默认自然排序
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("请输入数据:");
int a = sc.nextInt();// 存储变量
set.add(a);
if (a == 0) {
break;
}
}
// 元素输入完了,以0结束
//方法1
System.out.println("元素排序为:" + set);
Object[] obj=set.toArray();
System.out.println(obj[obj.length-1]);//多态形式
//方法2
/**
* 或者:说明:<T> T[] toArray(T[] a)------T=Integer
*/
Integer[] arr = set.toArray(new Integer[set.size()]);
System.out.println("最大值为:" + arr[arr.length - 1]);
// 或者
System.out.println("最大值为:" + arr[arr.length - 1].intValue());
// 方法3
//创建迭代器对象----迭代器遍历过程中找到最大值(依赖于TreeSet排序)
Iterator<Integer> it=set.iterator();
while(it.hasNext()){
Integer temp=it.next();
if(it.hasNext()==false){
System.out.println("最大值为:"+temp);
}
}
}
}
未完待续......
相关文章推荐
- java集合框架的练习之TreeSet集合的运用
- Java基础集合之TreeSet练习(带答案)
- Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)
- 集合set练习:Andy's First Dictionary(UVa 10815)代码
- Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)
- 练习-python集合set
- java基础集合之TreeSet练习2(带答案)
- [置顶] java集合框架的练习之TreeSet集合与ArrayList集合的混合使用
- 集合练习——Set部分
- set集合练习
- 集合框架_TreeSet存储自定义对象并遍历练习1
- 集合框架_TreeSet存储自定义对象并遍历练习2)
- Java基础知识强化之集合框架笔记41:Set集合之HashSet存储自定义对象并遍历练习
- 集合框架——Set(TreeSet练习)
- 集合List,SetDemo练习
- set练习:集合元素判断
- 单词数 (STL set集合)
- Set集合中使用add方法添加对象
- set集合容器用法
- 遍历List、Set、Map集合的几种方式