6月21日-6月26日,java写算法与题解

用java写算法,开始记录的第一周,积累 -> 沉淀。

1、补常用容器的使用,比较完整的常见容器。java 有哪些常用容器(集合)? - Java面试题

2、补string与char一些处理、对原生数组与包装数组的使用。

3、本周写3天每日一题+2场比赛。

4、排序

1、补常用容器的使用。

Map,HashMap<>();

Map<String,Integer> map = new HashMap<>(); //<>存类型,()存容量。
map.constainKeys();
map.constainValues();
map.put(k,y);
map.get(k);
map.getOrDefault(x,y)
map.remove(k);
Iterator<Map.Entry<String,Integer>>iter =  map.entrySet().iterator();
while(iter.hasNext()){
    Map.Entry<String,Integer>> i = iter.next();
    String key = iter.key();
    Integer value = iter.value();
}

Set,HashSet<>();

Set<Integer> set = new HashSet<>();
        set.add();
        set.contains();
        set.remove();

TreeSet<>();

TreeSet<Integer> set = new TreeSet<>();
        set.ceiling(); //大于等于
        set.floor(); //小于等于
        set.higher();   //大于
        set.lower(); //小于

Queue,LinkedList<>(); 用作queue时候offer、poll。用作队列时使用:add、remove。

Queue<String> q = new LinkedList<>();
        q.offer();
        q.poll();
        q.peek();
        q.isEmpty();

PriorityQueue

 class People {
        Integer age;
        String name;
    }

    static Comparator<People> cmp = new Comparator<People>() {
        @Override
        public int compare(People o1, People o2) {
            if (!o1.age.equals(o2.age)) {
                return o1.age - o2.age; //减法表示,小的在前面
            }
            return o1.name.compareTo(o2.name);

        }
    };
 PriorityQueue<People> q = new PriorityQueue<People>(cmp);

PriorityQueue - (offer/poll)

2、补String与char一些处理。

String的常见问题:

1、直接复制的话,会改变值,即便是放在了容器中,存的是地址,所以需要new String(x);

2、建立一个String,需要StringBuilder sb,sb.append(),一点点加,然后sb.toString();

3、String 换位置,可以转换为char[];

4、sb.charAt(index),直接用sb拿到对应位置的char。new StringBuilder(String);

5、sb.insert(x,y),在x位置插入y这个字符/字符串。

6、string.replace(x,x);string.find()==-1表示找不到。string.erase(x)

7、先用stirng.contains(str)。string.indexOf(x)。x输入一个字符串,可以拿到string包含这个字符串的开头,string.substring(x,y)。可以将[x,y]的字符串均获取到。

转换:

char[] charList = String.toCharArray();
String x = String.valueof(charList);
char r = target.charAt(1);
String = []

二维数组的使用
int[][] = {{1,2},{6,7,8,9},{5}}
可以二维遍历用,判断某个状态转换成某个状态也可以。

4、排序最简单,使用Arrays.sort(nums);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值