- TreeSet或TreeMap里面定义的是引用类型的话,就必须实现Comparable接口
| import java.util.*; |
| |
| public class a { |
| public static void main(String[] args) { |
| Map<Integer, String> treemap = new TreeMap(); |
| treemap.put(1, "aa"); |
| treemap.put(2, "bb"); |
| treemap.put(3, "cc"); |
| for (Integer key : treemap.keySet()) { |
| System.out.println(key + "-----" + treemap.get(key)); |
| } |
| |
| |
| |
| |
| |
| |
| TreeSet<Emp2> ts = new TreeSet<>(); |
| ts.add(new Emp2(1, "zs", 12222)); |
| ts.add(new Emp2(2, "ls", 11)); |
| ts.add(new Emp2(3, "ww", 333)); |
| for (Emp2 e: ts) { |
| System.out.println(e); |
| } |
| |
| |
| |
| |
| |
| } |
| } |
| class Emp2 implements Comparable<Emp2> { |
| int id; |
| String name; |
| double salary; |
| |
| @Override |
| public String toString() { |
| return "id=" + id + ", name=" + name + ", salary=" + salary ; |
| } |
| |
| public Emp2(int id, String name, double salary) { |
| super(); |
| this.id = id; |
| this.name = name; |
| this.salary = salary; |
| } |
| |
| @Override |
| public int compareTo(Emp2 o) { |
| if (this.salary > o.salary) { |
| return 1; |
| } else if (this.salary < o.salary) { |
| return -1; |
| } else { |
| if (this.id > o.id) { |
| return 1; |
| } else if (this.id < o.id) { |
| return -1; |
| } else { |
| return 0; |
| } |
| } |
| } |
| } |
- Iterator遍历list,map,set
| import java.util.*; |
| |
| public class a { |
| public static void main(String[] args) { |
| |
| List<Integer> list = new ArrayList<>(); |
| list.add(1); |
| list.add(90); |
| list.add(88); |
| Iterator<Integer> iter = list.iterator(); |
| for ( ; iter.hasNext(); ) { |
| Integer value = iter.next(); |
| System.out.println(value); |
| } |
| System.out.println("----------"); |
| |
| |
| Set<String> set = new HashSet<>(); |
| set.add("1223"); |
| set.add("2345"); |
| set.add("0000"); |
| Iterator<String> iter2 = set.iterator(); |
| for ( ; iter2.hasNext(); ) { |
| String value = iter2.next(); |
| System.out.println(value); |
| } |
| System.out.println("----------"); |
| |
| Map<Integer, String> map = new HashMap<>(); |
| map.put(100, "aa"); |
| map.put(200, "bb"); |
| map.put(300, "cc"); |
| System.out.println("map法一"); |
| Set<Map.Entry<Integer, String>> entries = map.entrySet(); |
| Iterator<Map.Entry<Integer, String>> iterator = entries.iterator(); |
| for ( ; iterator.hasNext(); ) { |
| Map.Entry<Integer, String> temp = iterator.next(); |
| System.out.println(temp.getKey() + "---" + temp.getValue()); |
| } |
| System.out.println("map法二"); |
| Set<Integer> integers = map.keySet(); |
| Iterator<Integer> iterator1 = integers.iterator(); |
| for ( ; iterator1.hasNext(); ) { |
| Integer next = iterator1.next(); |
| System.out.println(next + "---" + map.get(next)); |
| } |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?