一周学习Java整理 1(2022.4.25-2022.5.1)

一.ArrayList类是一个特殊的数组——动态数组

通过添加和删除数组,就可以动态的改变数组的长度。

优点:1.支持自动改变大小 2.可以灵活的插入和删除元素

缺点:速度较慢

以下为一些有关ArrayList<Integer>的基本使用

ArrayList<Integer> AL = new ArrayList<Integer>

ArrayList<Integer> AL2= new ArrayList<Integer>

1.添加元素:

AL.add(9);

2.最大/小值:

Collections.max(AL)/Collections.min(AL)

3.输出:

System.out.println(AL);

4.拷贝:

AL2.addAll(AL);

5.从小到大排序:

Collections.sort(AL);

6.从大到小排序:

Collections.sort(AL,Collections.reverseOrder());

7.倒序:

Collections.reverse();

8.求某个元素首次出现的位置

AL.indexOf(9);

9.在指定位置插入元素

AL.add(1,49);

11.移除特定位置元素

AL.remove(1);

二.Java中的length,length(),size().

1.length是针对数组而言,表示数组的长度,即数组中元素的个数,是数组的一个属性。

2.length()是一个方法,常用于字符串,表示字符串中所包含字符的个数。

(注:char字符没有length()方法。

3.size()也是一个方法,针对泛型集合,表示集合容器中所含元素的个数。

三.Java中int和String互相转换方法

1.String转为int

Integer.parseInt(str)

Integer.valueOf(str).intValue()

2.int转为String

num + ""

String.valueOf(num)

Integer.toString(num)

四.Java中的for-each循环

此循环专用于循环遍历数组中的元素。

用法:

for(type variableName : arrayName)
{
    要执行的代码
}

五.二分查找

基本思想:每次查找时将待找区间分成两部分并只取一部分查找。

使用条件:查找的内容逻辑上是有序的且查找的数量只有一个。

过程概述: ·首先选择数组中间数字和要查找的目标值相比较

                   ·相等直接返回答案

                   ·不相等:·中间数大于目标值,中间向右排除。

                                   ·中间数小于目标值,中间向左排除。

关键问题:middle左右元素个数不等不是关键问题,中间那个数字该不该加入下一次查找才是关键。

1.while循环中left和right的关系:是小于等于还是小于?

2.迭代过程中middle和right的关系:是right = middle - 1/middle?

法一:查找区间在[left,right]

                循环条件:left <= right

                right赋值:right = middle - 1

法二:查找区间在[left,right)

                循环条件:left < right

                right赋值:right = middle

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值