集合collection接口

1.集合就是一个存储数据的容器

数组长度固定而且可以存储基本数据类型或者引用类型,集合长度随意只能存储引用数据类型。

2.集合的框架结构

(1)collection集合框架

(2)map集合框架

 collection中常用的方法有:add(增加)remove(移除) clear(全部清除)contains(包含 返回值为boolean)equals(判断内容是否相等) iteration(迭代器要是用while判断输出)size(返回collection中的元素数目) toarray(返回此collection中所有元素的数组) 

//创建collection对象
Collection collection=new ArraryList();
//add增加
collection.add("张三");
collection.add("li4");
//remove 删除
collection.remove("li4");
//clear 清除
collection.clear();

//遍历两种方式 1.增强for 2.使用迭代器
collection.iter
sout;
iterator it=collection.iteration();
while(it.hasNest()){
object obj=it.next();
sout(obj);
}

 泛型:可以声明在类中 方法中<标识符> 就是一个数据类型的占位符

 泛型可以加一个规范,保证输入的是同一个类型。只要是一个合法的标识符即可,一般情况下只使用一个大写字母表示

        泛型不能修饰静态属性和常量,可以声明数组但是不可以初始化数组

       <?>表示任意的类型    <?extends T>表示T类或者T类的子类    <?super T>表示T类或者T类的父类

//创建泛型对象,元素类型string

collection<string> coll=new ArrayList<String>();

coll.add("周杰伦");

迭代器的使用:

方法名含义
hasNext()判断迭代器有下一个元素可以迭代
next()迭代下一个元素
remove()移除最后一个迭代元素

 

list 接口的存储特点:有序存储 可以相同,有独有的迭代器 listiterator可以反向遍历

 list 接口:arraylist  linkedlist

ArrayList存储结构是数组,linkedlist是双向链表。

  ArrayList<string> list=new ArrayList<>();   list.add("   ")

LinkedList <string> linkedlist=new linkedlist<>();   linkedlist.add("  ")    有序存储,可以存储相同的元素 存储结构是双向链表。ArrayList适合查询遍历,不适合插入和删除 后者相反。

set接口

1.常用的方法:add( 添加)  clear(清除) contains(包含)........常用方法和list一样。

2.存储的特点:无序的,不可以存相同的元素,不能通过下表访问。允许使用null元素

// Set<string> set=new HashSet<string>();   set.add("胖伦");

重写hashcode 和equals 可以实现排重的效果

listhashset:是有相对有序的set接口的哈希表和链表实现的 。是hashset的子类。 含list就是有序的,不可以存储相同的元素。

 

TreeSet :无序的,通过红黑树实现的集合,可以给元素进行重新排序。

Treeset除了实现set接口还实现了sortedset接口

first(返回set中当前的第一个最低元素),last(最后一个)

Map接口:是蒋健映射到值得对象,一个映射不能包含重复的健,每个键最多只能映射到一个值,值可以重复。

 映射关系,   jaychou----->周杰伦   jay------->周杰伦   

常用的方法:clear(清除) entryset返回此映射中包含映射关系的set集合。 equals(指定值与映射是否相等) get(object key)

hashcode  ,isempty,keyset,remove移除

map<string,string> map=new hashmap<>(); map.put("周杰伦","科比 ");

迭代器: iterator<string> set=map.keyset();  iterator<string> it=set.keyset(); while(it.hasnext()){string s=it.next(); sout s+"---"+map.getset*();}

map.entry方法:Set<map.entry<string,sstring>> set=map.entryset(){ iterator <map.entry<string,integer>>it =set.iteratpr; while().... }

相当于吧一个引用加入到key,一个整体变成了key,注意尖括号不要漏。

TreeMap

不能重复,重写comparable接口的compareto的方法返回值

Collections工具类

 1.排序  collection.sort

2.反转 collection.reverse

3.打乱洗牌  static void shuffle(list<?>list)

4.获取集合中的最大最小值int n1=collection.max(list);

5.替换 collection.replaceall(list,5,1000);

6.统计指定元素在集合中出现的次数 int num=collection.frequency(list,2);

7.二分查找 collection.binarysearch(list,-10);

集合和数组的转换

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值