【java练习】SDUT 实验四之集合框架类

I 2714下沉的船

一艘船很不幸的撞上了暗礁,船长组织大家上救生艇,而且船长决定女人(woman)和小孩(child)先上船,然后其次是男人(man),最后是船长(captain)。给出原来的顺序,通过编程得到按船长要求排列后的顺序。

身份优先级: woman = child > man > captain.

注意:如果两者的身份优先级一样,请按原来的序列的顺序决定,原序列中在前面的人,依然在前面。

import java.math.BigInteger;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		while(s.hasNext())
		{
			int t=s.nextInt();
			List<String>list1=new ArrayList<String>();
			List<String>list2=new ArrayList<String>();
			List<String>list3=new ArrayList<String>();
			while(t-->0)
			{
				String a=s.next();
				String b=s.next();
				if(b.equals("woman")||b.equals("child"))
					list1.add(a);
				else if(b.equals("man"))
					list2.add(a);
				else if(b.equals("captain"))
					list3.add(a);
			}
			Iterator<String> iter1=list1.iterator();
			while(iter1.hasNext())
			{
				String str=iter1.next();
				System.out.println(str);
			}
			Iterator<String> iter2=list2.iterator();
			while(iter2.hasNext())
			{
				String str=iter2.next();
				System.out.println(str);
			}
			Iterator<String> iter3=list3.iterator();
			while(iter3.hasNext())
			{
				String str=iter3.next();
				System.out.println(str);
			}
		}
		s.close();
	}
}

 J 2397 分类游戏

第一行给出m,n,第二行给出m个前缀(单个大写字母),后n行每行有一个单词。输出每个前缀所匹配的一个或多个单词,没有不输出。(忽略单词首字母大小写)

import java.math.BigInteger;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		while(s.hasNext())
		{
			int m=s.nextInt();
			int n=s.nextInt();
			char t[]=new char[10];
			for(int i=0;i<m;i++)
			{
				String str=s.next();
				t[i]=str.charAt(0);
		    }
			List[] l=new List[120];
			for(int i=0;i<n;i++)
				l[i]=new ArrayList();
			for(int i=0;i<n;i++)
			{
				String s1=s.next();
				for(int j=0;j<m;j++)
				{
					if(s1.toUpperCase().charAt(0)==t[j])
						{
							l[j].add(s1);
							break;
						}
				}
			}
			for(int i=0;i<m;i++)
			{
				if(l[i].size()==0)
					continue;
				for(int j=0;j<l[i].size();j++)
				{
					System.out.print(l[i].get(j));
					if(j==l[i].size()-1)
						System.out.println();
					else
						System.out.print(" ");
				}
			}
			System.out.println();
		}
		s.close();
	}
}

附学习集合链接:

我们为什么要使用List和Set(List,Set详解):https://blog.csdn.net/qq_34149805/article/details/68943004,作者:ConardLi

猜你喜欢

转载自blog.csdn.net/flyf000/article/details/84492688