if(set.size() < candies.length/2) return set.size();
else return candies.length/2;
VS
Math.min(set.size, candies.lenght/2);
//find unique number
Array.sort(candies);
for (int i = 1; i < candies.length ; i++)
if (candies[i] > candies[i - 1])
count++;
VS
HashSet < Integer > set = new HashSet < > ();
for (int candy: candies) {
set.add(candy);
}
char[] word = s.toCharArray();
int i = 0;
int j = s.length() - 1;
while (i < j) {
char temp = word[i];
word[i] = word[j];
word[j] = temp;
i++;
j--;
}
return new String(word);
VS
new StringBuilder(s).reverse().toString();
#################
Deque<Integer> q = new Deque<>();
q.poll() q.pollLast()
q.peek() q.peakLast()
q.offer() q.offerFirst()
#################
map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1); //对已有的key值进行更新
####################
Hashtable.keySet() 降序
TreeMap.keySet() 升序
HashMap.keySet() 乱序
LinkedHashMap.keySet() 原序
除了TreeMap.keySet(), JavaDoc中对keySet()返回值的顺序没有明确说明,
实际应用中,如果对顺序有明确要求,最好能明确的对其顺序进行整理。
###########
arrays
//工作日
Week[] workDays = {Week.Mon, Week.Tue, Week.Wed,Week.Thu,Week.Fri};
//转换为列表
List list = Arrays.asList(workDays);
//增加周六也为工作日
list.add(Week.Sat);
注意这里用add会出错,因为是arrays.aslist中,看代码可以看到这里返回的ArrayList不是原来的传统意义上的java.util.arraylist了,而是自己工具类的一个静态私有内部类,并没有提供add方法,要自己实现,所以这里是出错了,因此,除非确信array.aslist后长度不会增加,否则谨慎使用:List abc=Arrays.asList("a","b","c"),因为这样的长度是无法再add的了. 如果需要add,可以使用 new ArrayList(Arrays.asList("a","b","c"))
#####
Collections.sort(list,new Comparator()); 需要自定义比较器
Collections.reverse(list);