2020-10-22LinkedList使用 hashSet使用 Map

linkedList使用

基本方法回顾 2020-10-18

public class LinkedListDemo {

/**

    * 已知数组存放一批扣扣号 最长为11位

    * 最短为5位  数组定义 合理即可

    * 将该数组里面的 所有扣扣号都存放在linkedList 当中 将list重复元素删除

    * 将list中所有元素都用迭代器 和增强for循环打印出来

    *

    * 有了数组 就要设计到数组的遍历 和存放

    */

    //写一个重复元素删除的方法

    public static LinkedList quchong(LinkedList list) {

LinkedList qu =new LinkedList<>();

IteratorList= list.iterator();

while (List.hasNext()) {

String lt = List.next();

if (!qu.contains(lt)) {

qu.add(lt);

}

}

return qu;

}

public static void main(String[] args) {

//定义数组

        String[] arr = {"12345","12345","54321","123456","654321","1234567890"};

//创建LinkedList 用于存放数组的

        LinkedList linkedList =new LinkedList<>();

//遍历

        for (String str : arr) {

//判断是否包含

            //if (!linkedList.contains(args)){

            //如果不包含 就把他存到linkedList中

            linkedList.add(str);

//}

        }

//调用重复元素的方法

        //之前去重完之后要再把它放在list中 遍历循环输出

        LinkedList quchonglist =quchong(linkedList);

//遍历linkedList 增强for循环打印输出

        for (String qq : quchonglist) {

System.out.println(qq +"linkedList----去重");

}

//使用迭代器遍历

        Iterator linked = quchonglist.iterator();

while (linked.hasNext()) {

//if (!linkedList.contains(arr)){

            System.out.println(linked.next());

//}

        }

}

}


hashSet的使用

public class HashSetTest {

/**

    * 双色球的规则:双色球每注 投注号码由6个红色球号码和一个蓝色球号码组成

    * 红色球号码在1-33中选择 蓝色球号码在1-16中选择 请随机生成一注双色球号码

    * 要求同色号码不重复

    *

    * 分析:随机生成 Random

    * 红色球 和蓝色球 应该是两个集合

    * 号码不重复 去重是否包含?

    * hashset不能存储重复的元素

    * 回忆hashset 底层是数组加链表 equals和hashcode

    * 不能存储相同的数据  存储数据时候是无序的 存储的数据顺序不是按照存入时的顺序存入的 和list不一样

    *

    * random.nextInt的使用

    * random.nextInt(33) 范围是0~32 所以要加一 不加也行 ? 就是34?

    *

*/

    public static void main(String[] args) {

//随机产生数

        Random random =new Random();

//创建hashSet 存储不同的元素

        HashSet redset =new HashSet<>();

//判断红球是否小于6个

        while (redset.size()<6){

//红色球

            int red=random.nextInt(33)+1;

redset.add(red);

}

//蓝色球

        int bull = random.nextInt(17);

// redset.add(bull);

System.out.println("中奖是:");

System.out.print("红球");

for (Integer reaBall: redset) {

System.out.println(reaBall+",,, ");

}

System.out.println(bull+"篮球");

}

}

Map接口的特点

键值对

键值不能重复

key value 可以为null

hashMap

package comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

/**

* @ClassName: MapDemo

* @Description:

* @Author: Zhangliya

* @CreateDate: 2020/10/22 16:43

* @Version 1.0

* @Copyright: Copyright2018-2020  Inc. All rights reserved.

**/

public class MapDemo {

/**

    * Map接口的特点

    * 双列集合

    * key value键值对

    * key value 都可以为空

    * key 不能重复

    *

    * map接口中常用的方法

    * put 添加元素

    * get 获取元素

    * remove

    *

    * 往一个Map中 添加若干的元素 获取Map中所有的value 并使用增强for和迭代器遍历输出每个value?

*/

    public static void main(String[] args) {

//新建Map

//        HashMap hashMap = new HashMap<>();

//        hashMap.put("北京","真好");

//        hashMap.put("南京","也好");

//        hashMap.put("北京1","真好");

//        hashMap.put("南京1","也好");

//        for (Object value: hashMap.values() ) {

//

//            System.out.println(value);

//        }

//    }

/**

        * 使用Map集合存储自定义数据类型car做键 对应的价格做值 并使用keySet和EntrySet两种方式 遍历map

*

*

        * 分析:

        * 1.Map集合

        * 2.自定义数据类型

        * 3.car 做键 key=""car""?

        * 4.遍历map的两种方式 不知道 !

        * 5. car小汽车所以需要定义类

        *

        * map.value value值

        *

        * map中keyset 和Entryset遍历的区别

        * keyset返回值是个存放的key值的set集合(集合中无序存放)

        * keySet获取map集合的所有键的set集合  有了set集合 就可以使用迭代器

        * entryset 返回映射所包含的映射关系的集合 (一个关系就是一个键值对) 就是把key value作为一个整体 一个一个的放进set集合中

        *

*/

        HashMap hashMap =new HashMap<>();

//添加车到hashMap中

        MapDemocar baoma =new MapDemocar("宝马","23");

MapDemocar baoma1 =new MapDemocar("宝马1","255");

MapDemocar baoma2 =new MapDemocar("宝马","23");

hashMap.put(baoma,20);

hashMap.put(baoma1,2050);

hashMap.put(baoma2,2000);

//keyset 遍历

        Set carSet = hashMap.keySet();

//tor iteratorCar = carSet.iterator();

// (iteratorCar.hasNext()){

//teratorCar.next();

        for (MapDemocar aa : carSet) {

Integer value = hashMap.get(aa);

System.out.println(value);//20 2050 2000

        }

System.out.println("--------------------------------------------------");

Set> entrySetcar = hashMap.entrySet();

for (Map.Entry entry : entrySetcar

) {

MapDemocar key = entry.getKey();

Integer value1 = entry.getValue();

System.out.println(key +"www" + value1);

}

}

}


你可能感兴趣的:(2020-10-22LinkedList使用 hashSet使用 Map)