1. 程式人生 > >【java練習】SDUT 實驗四之集合框架類

【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