package day05;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/*
Collections:集合的工具类,提供了方法,操作LIst、Set、Map
*/
public class Demo05 {
public static void main(String[] args) {
List<Integer>nums = Arrays.asList(60,70,80,90,40,20,10);
System.out.println(Collections.max(nums));
System.out.println(Collections.min(nums));
System.out.println(nums);
Collections.sort(nums);//排序,从小到达排序
System.out.println(nums);
//二分查找,查不到返回 -(插入点+1)
int index = Collections.binarySearch(nums,30);
System.out.println(index);
//查到返回索引
index = Collections.binarySearch(nums,40);
System.out.println(index);
//翻转列表
Collections.reverse(nums);
System.out.println(nums);
//将列表乱序
Collections.shuffle(nums);
System.out.println(nums);
}
}
package day05;
import java.util.HashMap;
import java.util.Map;
/*
Map:HashMap/TreeMap是典型的实现类。key-value,key不允许重复,是用Set来存放的。
*/
public class Demo04 {
public static void main(String[] args) {
//<String,String>分别是key,value的类型
Map<String,String> map = new HashMap<>();
//添加元素
map.put("CNY","人民币");
map.put("USD","美元");
map.put("JPY","日元");
map.put("GBP","英镑");
System.out.println(map);
//修改元素
map.put("CNY","Chinese Yuan");
//删除元素remove,根据key删除,返回key对应的value
System.out.println(map.remove("JPY"));
//查询key是否存在,containsKey
System.out.println(map.containsKey("JPY"));
//查询value是否存在,containsValue
System.out.println(map.containsValue("日元"));
//根据key取元素,get
System.out.println(map.get("CNY"));
System.out.println(map.get("aaa")); //不存在返回null
//统计字符串中每个字符出现多少次。
String str = "This is a test.Today is a nice day.";
str = "HelloHi"; //str缩短有利于观察。
Map<Character,Integer> m = new HashMap<>();
//遍历每个字符
for (int i=0;i<str.length();i++){
//根据索引,取字符串中每个字符
char ch =str.charAt(i);
System.out.println("第"+i+"个字符为:"+ch);
//判断字符在Map中是否存在
if (m.get(ch) != null) {
//如果存在,根据字符取出次数,次数+1后,再放进去
int count = m.get(ch);
m.put(ch,count+1);
System.out.println(ch+"在map中存在,次数增加1.");
}else {
//如果不存在,将(字符,1)加入到Map中
m.put(ch,1); //T,1
System.out.println(ch+"不存在,加入到map中,次数设置为1.");
}
}
System.out.println("统计字符个数:"+m);
}
}
package day05;
import java.awt.geom.Arc2D;
/*
基本类型 包装类
int、 Integer
byte Byte
short Short
long Long
float Float
double Double
boolean Boolean
char Character
1、提供了一些实用的方法
2、集合中不能存放基本类型的数据,只能放引用类型,比如要存放数字,只能用Integer,不能用int
*/
public class Demo01 {
public static void main(String[] args) {
Integer num = 10;
int a = 10;
//valueof 把字符串转成Integer类型,radix表示字符串中的数字是几进制。
System.out.println(Integer.valueOf("1001",10));
System.out.println(Integer.valueOf("1001",8));
//二进制、八进制、十进制、十六进制、三十六进制(最大)
//十六进制:0-9,A-F来组成
//三十六进制:0-9,A-Z来组成
Integer num1 = 0b1101; //二进制,0b开头
Integer num2 = 0123; //八进制,0开头
Integer num3 = 0xfff; //十六进制,0x开头
//转二进制
System.out.println(Integer.toBinaryString(100));
System.out.println(Integer.toBinaryString(0xFFFF));
System.out.println(Integer.toBinaryString(Integer.valueOf("1001",5)));
//转八进制
System.out.println(Integer.toOctalString(100));
//转十六进制
System.out.println(Integer.toHexString(100));
System.out.println("============================");
//设计用例,测试这个方法。(边界值、等价类、异常值)
System.out.println( "用例1:" + oct2dec(""));//异常:长度为0
System.out.println( "用例2:" + oct2dec("7")); //长度为1
System.out.println( "用例3:" + oct2dec("123456")); //长度为6
System.out.println( "用例4:" + oct2dec("1234567")); //异常:长度为7
System.out.println( "用例5:" + oct2dec("0")); //最小值
System.out.println( "用例6:" + oct2dec("777777"));//最大值
System.out.println( "用例7:" + oct2dec("8a"));// 异常:非法的八进制
System.out.println( "用例8:" + oct2dec("+54"));//正数
System.out.println( "用例9:" + oct2dec("-5465"));//负数
System.out.println( "用例10:" + oct2dec(null));//异常:空值
Float f = 10.5f;// 直接赋对应类型的值
Float f1 = new Float(10.1);//调用构造方法,不推荐使用
System.out.println(Float.valueOf("123")); //字符转换float
System.out.println(f1.longValue());//转换long类型
//拆箱、装箱
Boolean b = true;//把基本类型的值,直接赋值给对象b,自动装箱。
boolean b1 = b; //把包装类型的值,赋值给基本类型,自动拆箱。
}
/*
练习:写一个静态方法,实现一个把6位以内的八进制的数字转换成十进制数字。
*/
public static int oct2dec(String oct) {
if (oct ==null ){
System.out.println("参数不合法");
return -999999999;//错误码
}
if (oct.length() < 1 || oct.length() > 6) {
System.out.println("参数不合法");
return -999999999; //错误码
}
try {
return Integer.valueOf(oct, 8);
} catch (Exception e) {
System.out.println(e.getMessage());
return -999999999;
}
}
}
|