异常
异常处理
自定义异常
集合
collection
案例
存储学生对象
public static void main(String[] args) {
List<String> li = new ArrayList<>();
li.add("风清扬");
li.add("南极夜光");
li.add("北极星辰");
/* Iterator<String> it=li.iterator();
while (it.hasNext()){
String n = it.next();
if(n.equals("风清扬"));{
li.add("南辕北辙");
}//checkForComodification
System.out.println(n);
}*/
for (int i = 0; i < li.size(); i++) {
String s = li.get(i);
if (s.equals("风清扬")) {
li.add("南辕北辙");
}
System.out.println(s);
}
}
for(String i:li){
System.out.println(i);
}
数据结构
List
public static void main(String[] args) {
ArrayList<String> array=new ArrayList<String>();
array.add("hollo");
array.add("world");
array.add("javaee");
for(int i=0;i<array.size();i++){
String s = array.get(i);
System.out.println(s);
}
System.out.println("--------");
Iterator<String> it=array.iterator();
while (it.hasNext()){
String n = it.next();
System.out.println(n);
}
System.out.println("---------");
for(String s:array){
System.out.println(s);
}
System.out.println("----------");
LinkedList<String> li=new LinkedList<String>();
li.add("hollo");
li.add("world");
li.add("javaee");
for (String s: li){
System.out.println(s);
}
}
public static void main(String[] args) {
LinkedList<String> linked=new LinkedList<String>();
linked.add("java");
linked.add("javaee");
linked.add("javase");
linked.addFirst("spring boot");
linked.addLast("vue");
System.out.println(linked.getFirst());
System.out.println(linked.getLast());
linked.removeFirst();
linked.removeLast();
System.out.println(linked);
}
set
public static void main(String[] args) {
Set<String> set=new HashSet<String>();
set.add("hello");
set.add("world");
set.add("java");
set.add("hello");
System.out.println(set);
//特点:不能添加重复内容
}
案例
泛型
可变参数
public static void main(String[] args) {
System.out.println(sum(10,20,30));
}
public static int sum(int b,int... a) {
int sum=0;
for (int i:a){
sum+=i;
}
return su
Map
public static void main(String[] args) {
Map<String,String> map=new HashMap<String,String>();
//添加元素
map.put("001","fang");
map.put("002","yuyu");
map.put("002","yu");
//删除元素
// map.remove("002");
//清除元素
// map.clear();
//判断是否包含元素
// System.out.println(map.containsKey("002"));
//判断是否包含元素的值
// System.out.println(map.containsValue("fang"));
//判断是否为空
// System.out.println(map.isEmpty());
//map的长度
System.out.println(map.size());
System.out.println(map);
}
//get根据键获取值
// System.out.println(map.get("001"));
//keySet获取所有键的集合
// Set<String> k = map.keySet();
// for (String s:k){
// System.out.println(s);
// }
//Collection<> values():获取所有值的集合
// Collection<String> values = map.values();
// for (String s:values){
// System.out.println(s);
// }
HashMap案例
Collections
public static void main(String[] args) {
List<Integer> link=new ArrayList<Integer>();
link.add(80);
link.add(47);
link.add(50);
link.add(60);
//sort方法排序
// Collections.sort(link);
//reverse反转集合中的元素
// Collections.reverse(link);
//shuffle随机排序元素
Collections.shuffle(link);
System.out.println(link);
}
public static void main(String[] args) {
List<Student> list=new ArrayList<Student>();
Student s1=new Student("fang",30);
Student s2=new Student("yu",10);
Student s3=new Student("xu",50);
Student s4=new Student("dong",30);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
//排序:先按年龄在再按学号排序
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
int sum=s1.getAge()-s2.getAge();
int sum2=sum==0?s1.getName().compareTo(s2.getName()):sum;
return sum2;
}
});
for (Student s:list){
System.out.println(s.getName()+","+s.getAge());
}
}
案例
模拟斗地主
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<String>();
//往牌里面装牌
String[] sign = {"♦", "♣", "♥", "♠"};
String[] munber = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
for (int i = 0; i < sign.length; i++) {
for (int j = 0; j < munber.length; j++) {
array.add(sign[i] + munber[j]);
}
}
array.add("小王");
array.add("大王");
//洗牌
Collections.shuffle(array);
//发牌
ArrayList<String> fang = new ArrayList<String>();
ArrayList<String> yu = new ArrayList<String>();
ArrayList<String> xu = new ArrayList<String>();
ArrayList<String> di = new ArrayList<String>();
for (int i = 0; i < array.size(); i++) {
String s = array.get(i);
if (i >= array.size() - 3) {
di.add(s);
} else if (i % 3 == 0) {
fang.add(s);
} else if (i % 3 == 1) {
yu.add(s);
} else if (i % 3 == 2) {
xu.add(s);
}
}
//看牌
lookPorker("小方", fang);
lookPorker("小雨", yu);
lookPorker("xuge", xu);
lookPorker("底牌", di);
System.out.println(array);
}
public static void lookPorker(String name, ArrayList<String> array) {
System.out.print(name + "的牌是:");
for (String s1 : array) {
System.out.print(s1 + " ");
}
System.out.println();
}
public static void main(String[] args) {
//创建Hasmap,键是编号,值是牌
HashMap<Integer, String> map = new HashMap<Integer, String>();
//创建Arraylist存储编号
ArrayList<Integer> array = new ArrayList<Integer>();
//创建花式数组和点数组
String[] colors = {"♦", "♣", "♥", "♠"};
String[] munber = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A","2"};
//存编号和牌
int index = 0;
for (int i = 0; i < munber.length; i++) {
for (int j = 0; j < colors.length; j++) {
map.put(index, colors[j] + munber[i]);
array.add(index);
index++;
}
}
// System.out.println(array);
// System.out.println(map);
map.put(index, "小王");
array.add(index);
index++;
map.put(index, "大王");
array.add(index);
//洗牌
Collections.shuffle(array);
//发牌
TreeSet<Integer> fang = new TreeSet<Integer>();
TreeSet<Integer> yu = new TreeSet<Integer>();
TreeSet<Integer> xu = new TreeSet<Integer>();
TreeSet<Integer> di = new TreeSet<Integer>();
for (int i = 0; i < array.size(); i++) {
Integer in = array.get(i);
if (i >= array.size() - 3) {
di.add(in);
} else if (i % 3 == 0) {
fang.add(in);
} else if (i % 3 == 1) {
yu.add(i);
} else if (i % 3 == 2) {
xu.add(in);
}
}
// System.out.println(fang);
lookedPorker("小方", map, fang);
lookedPorker("雨", map, yu);
lookedPorker("xuge", map, xu);
lookedPorker("底牌", map, di);
}
//看牌方法
public static void lookedPorker(String s, HashMap<Integer, String> map, TreeSet<Integer> tree) {
System.out.print(s + "的牌是:");
for (Integer i : tree) {
String s1 = map.get(i);
System.out.print(s1 + " ");
}
System.out.println();
}