一些收获和基础的java

本文探讨了如何利用TreeMap的特性进行有序遍历,并强调了在迭代过程中处理01-1等值的重要性。讲解了Java集合的接口与实现类分离,以及ArrayList的底层原理。同时,讨论了`a==b`与`a.equals(b)`的区别,并涉及了Java比较对象的方法应用。

对于一些思路简单的题,输入输出的改进是必要的。

TreeMap 是一种数据结构,它的key都是经过排序的
当获取keySet的时候会以顺序的形式返回遍历结果。其中字符串和整数的key已经给我们排好序。

在写新的迭代比较器的时候要注意0 1 -1 这三个值都要返回来。因为当相等的时候也要有返回的比较。

补充知识

java集合的特点,实现了接口和实现类的相分离。
有序表的接口是list,具体的实现类有ArrayList LinkedList
二是可以支持泛型,可以限制集合中只能放入一种元素。
如:List list=new ArrayList<>();

ArrayList

ArrayList的底层实现仍然是以数组的形式存储数据的。
当增加一个元素而原来的数组满了的时候就要将数组复制到一个新的数组,新的数组倍增。

ArrayList 允许插入空值。
ArrayList

遍历对象可以用遍历器

 public class Main {
    public static void main(String[] args) {
    	List<String>list = List.of("a","b","c");
    	for(Iterator<String>it=list.Iterator();){
    		String s=it.next();
    		System.out.print(s);
    	}
    }

将list转化为array.

Integer []array = List.toArray(new Integer[list.size()];


一些知识点:

java中比较两个对象 a==b和a.equals(b)有什么不同?
前者是进行对象地址的比较,看是否指向堆中的同一地址。而后者是进行a,b包含的内容进行比较,除了String Integer之外,需要重写比较方法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值