Java学习日记DAY15

1.集合容器(set)

import java.util.ArrayList;
import java.util.HashSet;
public class rongqi {
	public static void main(String[] args) {
		ArrayList<String> a=new ArrayList<String>();
		a.add("first");
		a.add("second");
		a.add("first");
		for(String s:a) {
			System.out.println(s);
		}
		System.out.println(a);
		HashSet<String> s=new HashSet<String>();
		s.add("first");
		s.add("second");
		s.add("first");
		for(String k:s) {
			System.out.println(k);
		}
		System.out.println(s);
	}

}

输出:

first
second
first
[first, second, first]
first
second
[first, second]

我们可以看出,容器可以直接输出,那么昨天学过的Value类型的对象能直接输出吗?

class Value{
	private int i;
	Value(int i) {
	    this.i=i;
	}

	public int get() {
		return i;
	}
	public String toString() {
		return(""+i);
	}
	public static void main(String[] args) {
		Value v=new Value(10);
		System.out.println(v);//输出10
	}
}

可以看出,通过函数toString实现了。
2.Hash表
Hash表,有的地方翻译为散列表。
传统意义上的Hash表,是能以int做值,将数据存放起来的数据结构。Java的Hash表可以以任何实现了hash()函数的类的对象做值来存放对象。
实现:

package hash;

import java.util.HashMap;
import java.util.Scanner;

public class Coin {
	private HashMap<Integer, String> coinnames=new HashMap<Integer,String>();
	public Coin() {
		coinnames.put(1, "penny");
		coinnames.put(10, "dime");
		coinnames.put(25, "quarter");
		coinnames.put(50, "half-dolar");
		coinnames.put(50, "5毛");
		System.out.println(coinnames.keySet());//输出所有key值
		System.out.println(coinnames.keySet().size());//输出key集合长度
		for(int k:coinnames.keySet()) {//输出hash表中所有值;
			String s=new String(coinnames.get(k));
			System.out.println(s);
		}
	}
	public String getName(int amount) {
		return coinnames.get(amount);
	}
	
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int amount=in.nextInt();
		Coin coin=new Coin();
		String a=coin.getName(amount);
		System.out.println(a);
	}

}

输入输出:50 [1, 50, 25, 10] 4 penny 5毛 quarter dime 5毛

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值