JAVA-集合

API

Math类,没有构造函数,所有的方法都是静态方法,可以通过类名调用。常用的方法有abs(),max(),min(),ceil(),floor(),random()等。
System类,没有构造函数,所有的方法都是静态方法,System.exit(0) 正常退出;System.currentTimeMillis()返回一个时间值。
Object类,具有一个无参构造方法,是所有类的祖先。
Arrays类,包含用于操作数组的各种方法,
toString(int[] a):返回指定数组内容的字符串表示形式。
sort(int[] a):按照数字顺序排列指定的数组
工具类的设计思想:构造方法用private修饰,成员用publicstatic 修饰。

基本数据类型包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

Integer类,通过 Integer i= Integer.valueOf(String s)创建对象。
int转换为String :String s=String.valueOf(int i)
String 转换为int : int i=Integer.parseint(String s)

集合

集合类体系结构
在这里插入图片描述
Collection集合:JDK不提供该接口的任何直接实现,它提供更具体的子接口(如list和set)的实现类。
Collection集合常用方法:
在这里插入图片描述

Iterator:迭代器,集合的专用遍历方式
迭代器是通过集合的iterator()方法得到的,用法:Iterator it=集合名.iterator()
常用方法:
E next():返回迭代中的下一个元素。
boolean hasNext():如果迭代具有更多的元素,则返回true
并发修改异常:
产生原因:在迭代器遍历过程中,通过集合对象修改了集合中元素的长度,造成了迭代器获取元素中判断预期修改值和实际修改值不一致。
解决方案:用for循环遍历

List集合

特有的方法
在这里插入图片描述
ListIterator:列表迭代器
通过List集合的listIterator()方法得到,用于允许沿任意方向遍历列表的迭代器,允许在迭代期间修改列表,并获取列表中的迭代器的当前位置。
常用方法:
E next():返回迭代的下一个元素
boolean haxNext():如果迭代具有更多元素,则返回true
E previous(): 返回列表中的上一个元素
Boolean hasPrevious()
void add(E e):将元素插入列表

List常用实现类:Arraylist:底层数据结构是数组。Linkedlist:底层数据结构是链表。

LinkedList集合的特有功能:
在这里插入图片描述set集合
不包含重复元素,没有带索引的方法,所以不能使用普通的for循环遍历。
常用实现类:
1.Hashset: 底层结构是哈希表,元素的存储是无序的。
哈希值:是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值。可通过Object类的hashCode()方法返回对象的哈希值。
2.LinkedHashSet:底层使用了哈希表和链表,具有可预测的迭代带次序。由链表保证元素的有序,即元素的存储和取出顺序是一样的。
3.TreeSet:元素有序,指按一定的规则进行排序,具体排序方法取决于构造方法:
TreeSet():无参构造,根据其元素的自然排序进行排序。当元素是自定义的类型时,需要该类实现Comparable接口并重写comparTo方法,来自定义规则。
TreeSet(Comparator comparator):带参构造,根据指定的比较器进行排序。就是让集合构造方法接收Comparator的实现类对象,重写compare()方法。例如:下面的代码实现了按年龄从大到小排序,挼年龄相同则按名字字典序从小到大排序。
在这里插入图片描述

可变参数:
格式:public static int sum(int…a){}
这里的变量其实被封装成了一个数组。

Map集合

Interface Map<K,V> K:键的类型;V:值的类型
将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值
实现类:HashMap
在这里插入图片描述在这里插入图片描述

使用工具类Arrays对数组排序,等一系列操作。
使用工具类Collections对list对象排序,等一系列操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值