A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冬冬宋 中级黑马   /  2016-8-21 00:00  /  711 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[AppleScript] 纯文本查看 复制代码
package fuxi;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.ListIterator;
import java.util.Random;
import java.util.Scanner;

import student.student2;

public class Demo_fuxi1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//demo();
		//编写一个程序,获取10个1至20的随机数,要求随机数不能重复。并把最终的随机数输出到控制台。
		//demo2();
		//使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符
		//demo3();
		//将集合中的重复元素去掉
		//分析;1/创建一个可以去掉重复元素的集合,将存储重复元素的集合中的元素,遍历取出来,添加到新集合中就可以去掉重复的元素
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("c");
		ListIterator<String> lt = list.listIterator();//获取迭代器
		LinkedHashSet<String> newlist = new LinkedHashSet<>();//创建一个可以去除重复元素的集合
		while(lt.hasNext()){
			newlist.add(lt.next());//将迭代出来的元素添加到可以去除重复元素的集合中
		}
		list.clear();//清空原来集合中的元素
		list.addAll(newlist);//将新集合中元素全部添加到老集合中
		newlist.clear();//清空新集合
		for (String string : list) {//遍历老集合,可以发现已经去除掉了重复的元素
			System.out.println(string);
		}
	}

	private static void demo3() {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串");
		String s = sc.nextLine();
		char [] arr = s.toCharArray();
		HashSet<Character> hs = new HashSet<>();
		for (int i = 0; i < arr.length; i++) {
			hs.add(arr[i]);
		}
		System.out.println(hs);
	}

	private static void demo2() {
		HashSet<Integer> ha = new HashSet<>();//创建HashSet集合
		Iterator<Integer> it = ha.iterator();//获取迭代器
		Random r = new Random();//创建Random对象
		while(ha.size()<10){
			int x = r.nextInt(20)+1;//使用random对象的方法,nextInt()获取随机数
			ha.add(x);//将随机数添加到集合中
		}
		for (Integer integer : ha) {
			System.out.print(integer+" ");//遍历集合
		}
	}

	private static void demo() {
		HashSet<student2> hs = new HashSet<>();
		hs.add(new student2("东东",23));
		hs.add(new student2("东东",23));
		hs.add(new student2("东东",23));
		hs.add(new student2("嘻嘻",23));
		Iterator<student2> it = hs.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}

}

1 个回复

倒序浏览
[AppleScript] 纯文本查看 复制代码
package fuxi;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class Demo_fuxi3 {

	/**
	 * @param args
	 * 程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整数倒序排列打印.
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入整数:");
		TreeSet<Integer> it = new TreeSet<>(new Comparator<Integer>() {

			@Override
			public int compare(Integer o1, Integer o2) {
				int num = o2-o1;
				return num == 0?1:num;
			}
		});
		while(true){
			String s = sc.nextLine();
			if(s.equals("quit")){
				break;
			}
			int num = Integer.parseInt(s);
			it.add(num);
		}
		for (Integer integer : it) {
			System.out.println(integer);
		}
	}

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马