A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sjw12025 中级黑马   /  2016-6-15 23:05  /  405 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合:
package cn.itheima.collection;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
/**
* 1、一个User类有String name  int age  ArrayList<User> 存储数据然后按 年龄倒序打出
*
*/
public class Test1 {
        public static void main(String[] args) {
                ArrayList<User> list=new ArrayList<User>();
                list.add(new User("张三", 23));
                list.add(new User("钱七", 27));
                list.add(new User("王武", 25));
                list.add(new User("李四", 24));
                list.add(new User("赵六", 26));
                toString(list);
        }
        public  static void toString(List<User> list) {
                TreeSet<User> ts=new TreeSet<User>(new Comparator<User>() {
                        @Override
                        public int compare(User u1, User u2) {
                                int num=u2.getAge()-u1.getAge();
                                return num==0?u2.getName().compareTo(u1.getName()):num;
                        }
                });
                ts.addAll(list);
                list.clear();
                list.addAll(ts);
                for (User user : list) {
                        System.out.println(user.getName()+"---"+user.getAge());
                }
        }
}
package cn.itheima.collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
/*
* 2、画出collection集合体系  说出MAP集合两种遍历方式 并用代码体现
*
*         Collection:
*                   ||--list:
*                                 ||--ArrayList
*                                 ||--LinkedList
*                                 ||--Vector
*                   ||--Set:
*                                 ||--HashSet
*                                         ||--LinkedHashSet
*                                ||--TreeSet
*                        
*/
public class Test2 {
        public static void main(String[] args) {
                //demo1();
                TreeMap<User, String> hm=new TreeMap<User, String>(new Comparator<User>() {
                        @Override
                        public int compare(User o1, User o2) {
                                int num=o2.getAge()-o1.getAge();
                                return num==0?o2.getName().compareTo(o1.getName()):num;       
                        }
                });
                hm.put(new User("张三", 23), "北京");
                hm.put(new User("赵六", 26), "深圳");
                hm.put(new User("李四", 24), "上海");
                hm.put(new User("王武", 25), "广州");
               
                //迭代器
                Iterator<User> it=hm.keySet().iterator();
                while(it.hasNext()){
                        User user=it.next();
                        String s=hm.get(user);
                        System.out.println(user.getName()+"--"+user.getAge()+"--"+s);       
                }
                System.out.println("--------------");
                //增强for
                for(Map.Entry<User, String> entry:hm.entrySet()){
                        User user=entry.getKey();
                        String s=entry.getValue();
                        System.out.println(user.getName()+"--"+user.getAge()+"--"+s);
                }       
        }
        private static void demo1() {
                HashMap<User, String> hm=new HashMap<User, String>();
                hm.put(new User("张三", 23), "北京");
                hm.put(new User("李四", 24), "上海");
                hm.put(new User("王武", 25), "广州");
                hm.put(new User("赵六", 26), "深圳");
               
                //迭代器
                Iterator<User> it=hm.keySet().iterator();
                while(it.hasNext()){
                        User user=it.next();
                        String s=hm.get(user);
                        System.out.println(user.getName()+"--"+user.getAge()+"--"+s);
                       
                }
                System.out.println("--------------");
                //增强for
                for(Map.Entry<User, String> entry:hm.entrySet()){
                        User user=entry.getKey();
                        String s=entry.getValue();
                        System.out.println(user.getName()+"--"+user.getAge()+"--"+s);
                }
        }
}

package cn.itheima.collection;
public class User {
        private String name;
        private int age;
        public User() {
                super();
        }
        public User(String name, int age) {
                super();
                this.name = name;
                this.age = age;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
        @Override
        public String toString() {
                return "User [name=" + name + ", age=" + age + "]";
        }
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + age;
                result = prime * result + ((name == null) ? 0 : name.hashCode());
                return result;
        }
        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                User other = (User) obj;
                if (age != other.age)
                        return false;
                if (name == null) {
                        if (other.name != null)
                                return false;
                } else if (!name.equals(other.name))
                        return false;
                return true;
        }
}
package cn.itheima.collection;
import java.util.Map;
import java.util.TreeMap;
/*
*3. 给一个“kdiekmckskelfcr”  统计每个字符出现的次数按字典顺序   例如  a(3)b(4)j(4)
*/
public class Test3 {
        public static void main(String[] args) {
                String str="kdiekmckskelfcr";
                TreeMap<Character, Integer> tm=new TreeMap<Character, Integer>();
                char[] arr=str.toCharArray();
                for (char c : arr) {
                        //方式一:根据键
                        //tm.put(c, tm.get(c)==null?1:tm.get(c)+1);
                        //方式二:根据值
                        tm.put(c, !tm.containsValue(c)?1:tm.get(c)+1);
                }
                StringBuilder sb=new StringBuilder();
                for(Map.Entry<Character, Integer>  entry:tm.entrySet()){
                        sb.append(entry.getKey()).append("(").append(entry.getValue()).append(")");
                }
                System.out.println(sb.toString());
        }
}
package cn.itheima.collection;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
/*
* 4.编写代码,先实现给ArrayList<Integer>去重,然后按照倒序排序
*/
import java.util.TreeSet;
public class Test4 {
        public static void main(String[] args) {
                ArrayList<Integer> list=new ArrayList<Integer>();
                list.add(11);
                list.add(12);
                list.add(16);
                list.add(15);
                list.add(20);
                list.add(11);
                list.add(12);
                list.add(13);
                list.add(13);
                System.out.println("去重后:");
                getSingle(list);
                System.out.println("排序后");
                sort(list);
        }
        private static void sort(List<Integer> list) {
                TreeSet<Integer> ts=new TreeSet<Integer>(new Comparator<Integer>() {
                        @Override
                        public int compare(Integer o1, Integer o2) {
                               
                                int num=o2.compareTo(o1);
                                return num;
                        }
                });
                ts.addAll(list);
                list.clear();
                list.addAll(ts);
                System.out.println(list);
               
        }
        private static void getSingle(List<Integer> list) {
                HashSet<Integer> hs=new HashSet<Integer>();
                hs.addAll(list);
                list.clear();
                list.addAll(hs);
                System.out.println(list);
        }
}
package cn.itheima.collection;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 5.写一个方法体public void deleteNum(ArrayList<String> list) ,
* 要求凡是list成员中包含(0-9)的均删除
*/
public class Test5 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                ArrayList<String> list = new ArrayList<String>();
                System.out.println("输入字符串:");
                while (list.size() < 5) {
                        String s=sc.nextLine();
                        list.add(s);
                }
                deleteNum(list);
                System.out.println(list);
        }
        public  static void deleteNum(ArrayList<String> list) {
        for(int i=0;i<list.size();i++){
                        char[] arr=list.get(i).toCharArray();
                        for (char c : arr) {
                                if (c>='0'&&c<='9') {
                                        list.remove(i--);
                                        break;
                                }
                        }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马