List集合,Set集合与Map学习

一,List集合

1):概述:List 组件为用户提供了一个可滚动的文本项列表。

2):List有ArrayList和LinkedList两种形式。

ArrayList是一个动态的数组;LinkedList是基于链表的储存结构。

3):区别与特点:两个的区别是ArrayList查询快,增删慢LinkedList查询慢,增删快。

特点是List集合是有序的可重复的

4):ArrayList图示。有规则的排列,所以查询快,但是增删时需要整体变动,速度变慢。 

5):LinkedList图示。有规则排序,但是每个数据单独连接,形似链表,从而增删变快,查询慢。

 

6):常用构造方法

List()
          创建新的滚动列表。

 7):常用方法

voidadd(String item)向滚动列表的末尾添加指定的项。
voidadd(String item, int index) 向滚动列表中索引指示的位置添加指定的项
voidremove(int position)从此滚动列表中移除指定位置处的项。

void

removeAll()从此列表中移除所有项。
//List
List<String> list=new ArrayList<>();
list.add("张三");//添加数据
list.add("李四");
list.add("老六");
list.add(2,"王五");//向指定位置添加数据
list.remove(1);//删除指定位置的数据
System.out.println(list);
System.out.println("List的遍历");
for (int i=0;i< list.size();i++){
    String s = list.get(i);
    System.out.println(s);
}
System.out.println("遍历方法二-------------");
for (String s:list){
    System.out.println(s);
}

 二,Set集合

1):概述:一个不包含重复元素的且无序的集合。

Set集合无法直接查询数据,需要遍历以后才可以查询。

2):常用方法

booleanadd(E e) 如果 set 中尚未存在指定的元素,则添加此元素
voidclear()移除此 set 中的所有元素。
booleancontains(Object o)如果 set 包含指定的元素,则返回 true。
inthashCode()返回 set 的哈希码值。
Iterator<E>iterator()返回在此 set 中的元素上进行迭代的迭代器。
booleanremove(Object o)如果 set 中存在指定的元素,则将其移除。
intsize() 返回 set 中的元素数(其容量)。
Object[]toArray()返回一个包含 set 中所有元素的数组。

//Set
Set<String> set=new HashSet<>();
set.add("b");//添加数据
set.add("a");
set.add("c");
set.add("a");//重复不在添加
System.out.println(set);
//获取集合的元素量(数量)
System.out.println(set.size());
System.out.println("Set的遍历");
Iterator<String> iterator = set.iterator();//使用迭代器方法
while (iterator.hasNext()){
    String next = iterator.next();
    System.out.println(next);
}

三,Map 

1):概述:基于键值对储存的数据结构。

2):图示Map结构

在Map中Key值是不能重复的,而value值是可以重复的。也就是说一个value值只能对应一个Key值,而一个Key值可以对应多个value值。

Map会将所有的值放到Set集合中。

3):Map常用方法

voidclear()从此映射中移除所有映射关系(可选操作)。
Set<Map.Entry<K,V>>entrySet() 返回此映射中包含的映射关系的 Set 视图。
Vget(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
inthashCode()返回此映射的哈希码值。
booleanisEmpty()如果此映射未包含键-值映射关系,则返回 true。
Set<K>keySet()返回此映射中包含的键的 Set 视图。
Vremove(Object key)如果存在一个键的映射关系,则将其从此映射中移除。
intsize() 返回此映射中的键-值映射关系数。
//Map
Map<String,String> map=new HashMap<>();
map.put("name","张三");
map.put("age","18");
map.put("sex","男");
System.out.println(map);
//获取键值对数量
int size = map.size();
System.out.println(size);
System.out.println("Map的遍历");
Iterator<Map.Entry<String, String>> ite = map.entrySet().iterator();
while (ite.hasNext()){
    Map.Entry<String, String> next = ite.next();
    String key = next.getKey();//获取Key的值
    String value = next.getValue();//获取value的值
    System.out.println(key+"---->"+value);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值