当前位置: 首页 > wzjs >正文

网站建设难点分析友情贴吧

网站建设难点分析,友情贴吧,免费做背景调查的网站,新网站如何被快速收录一、简介 Java集合框架位于java.util包中 Collection是Set和List的父类,Collections是工具类,提供了对集合进行排序、遍历等多种算法的实现。 ArrayList: 有序(放进去顺序和拿出来顺序一致),可重复 HashSet: 无序(放进去顺序和拿出来顺序不…

一、简介

在这里插入图片描述

Java集合框架位于java.util包中

Collection是Set和List的父类,Collections是工具类,提供了对集合进行排序、遍历等多种算法的实现。

ArrayList: 有序(放进去顺序和拿出来顺序一致),可重复

HashSet: 无序(放进去顺序和拿出来顺序不一定一致),不可重复

@Test
public void test1() {//数组最大问题是长度固定,而且要操作下标Student[] array = new Student[3];ArrayList<Student> list = new ArrayList<>();Student student1 = new Student();Student student2 = new Student();Student student3 = new Student();Student student4 = new Student();list.add(student1);list.add(student2);list.add(student3);list.add(student4);list.add(student1);//有序可重复//有序:你放进去的顺序和拿出来的顺序一致//ArrayList<String> list1 = new ArrayList<>();List<String> list1 = new ArrayList<>();list1.add("Java");list1.add("UI");list1.add("H5");list1.add("H5");list1.add("aa");for (String str : list1) {System.out.println(str);}System.out.println("-------------------");//无序不重复//无序:放进去顺序和拿出来的顺序可能是不一致的//HashSet<String> set = new HashSet<String>();Set<String> set = new HashSet<>();set.add("Java");set.add("UI");set.add("H5");set.add("H5");set.add("aa");for (String str : set) {System.out.println(str);}
}

jdk1.7版本之前创建集合对象必须把前后的泛型都写上

ArrayList<String> list = new ArrayList<String>();

jdk1.7版本之后,=号后面的泛型可以省略,后面的泛型可以根据前面的泛型推导出来

ArrayList<String> list = new ArrayList<>();

二、ArrayList和LinkedList区别

在这里插入图片描述
队列:先进先出,LinkedList可以实现。

LinkedList linkedList = new LinkedList();
linkedList.addFirst("A");
linkedList.removeFirst();
linkedList.addLast("B");
linkedList.removeLast();
ArrayList和LinkedList的大致区别如下:(重点面试题)
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

ArrayList内部是使用可増长数组实现的,所以是用get和set方法是花费常数时间的,但是如果插入元素和删除元素,除非插入和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动。

LinkedList是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。但是插入和删除元素花费常数时间。

总结:数组:查找快,增删慢链表:查找慢,增删快

三、队列

Queue先进先出 FIFO Firt In First Out

客服电话、12306排队买票、滴滴打车

在这里插入图片描述

LinkedList linkedList = new LinkedList();
linkedList.addLast("A");
linkedList.addLast("B");
linkedList.addLast("C");
linkedList.removeFirst();//移除A

四、Map

1、Map

Map<K, V>   key,value键值对,成对出现的,key是字符串,value是任意类型,声明成Object类型即可。

在这里插入图片描述

Set<Entry<String, String>> set =  map.entrySet();map.keySet();
Map接口
1、Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。
2、Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。
3、Collection中的集合称为单列集合,Map中的集合称为双列集合。
4、需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。
5、Map中常用的集合为HashMap集合、LinkedHashMap集合。

在这里插入图片描述

Map接口中的常用方法

在这里插入图片描述

public static void main(String[] args) {// 创建Map对象Map<String, String> map = new HashMap<String, String>();// 给map中添加元素map.put("星期一", "Monday");map.put("星期日", "Sunday");System.out.println(map); // {星期日=Sunday, 星期一=Monday}// 根据指定的key获取对应的valueString en = map.get("星期日");System.out.println(en); // Sunday// 根据key删除元素,会返回key对应的value值String value = map.remove("星期日");System.out.println(value); // SundaySystem.out.println(map); // {星期一=Monday}
}

2、Map集合遍历键找值方式:

1、keySet

键找值方式:即通过元素中的键,获取键所对应的值
1.获取Map集合中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键
在这里插入图片描述
2.遍历键的Set集合,得到每一个键

3.根据键,获取键所对应的值

在这里插入图片描述

public void test1() {// 创建Map对象Map<String, String> map = new HashMap<String, String>();// 给map中添加元素map.put("邓超", "孙俪");map.put("李晨", "范冰冰");map.put("刘德华", "柳岩");// 获取Map中的所有keySet<String> keySet = map.keySet();// 遍历存放所有key的Set集合Iterator<String> it = keySet.iterator();while (it.hasNext()) {// 得到每一个keyString key = it.next();// 通过key获取对应的valueString value = map.get(key);System.out.println(key + "=" + value);}
}
2、entrySet

Map集合遍历键值对方式
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。

操作步骤与图解:

1.获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。

在这里插入图片描述
2.遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象

3.通过键值对(Entry)对象,获取Entry对象中的键与值。

在这里插入图片描述

在这里插入图片描述

@Test
public void test1() {Map<String, String> map = new HashMap<>();map.put("cn", "中国");map.put("us", "美国");map.put("uk", "英国");Set<Map.Entry<String, String>> entrySet = map.entrySet();for (Map.Entry<String, String> entry : entrySet) {System.out.println(entry.getKey() + " : " + entry.getValue());}System.out.println("-----------");String country = map.get("cn");System.out.println(country);System.out.println("-----------");Set<String> keySet = map.keySet();for (String key : keySet) {System.out.println(key + " : " + map.get(key));}
}@Test
public void test2() {// 创建Map对象Map<String, String> map = new HashMap<String, String>();// 给map中添加元素map.put("邓超", "孙俪");map.put("李晨", "范冰冰");map.put("刘德华", "柳岩");// 获取Map中的所有key与value的对应关系Set<Map.Entry<String, String>> entrySet = map.entrySet();// 遍历Set集合Iterator<Map.Entry<String, String>> it = entrySet.iterator();while (it.hasNext()) {// 得到每一对对应关系Map.Entry<String, String> entry = it.next();// 通过每一对对应关系获取对应的keyString key = entry.getKey();// 通过每一对对应关系获取对应的valueString value = entry.getValue();System.out.println(key + "=" + value);}
}

注意:Map集合不能直接使用迭代器或者foreach进行遍历。但是转成Set之后就可以使用了。

http://www.dtcms.com/wzjs/85816.html

相关文章:

  • wordpress页面菜单保定seo博客
  • 如何注册新账号东莞网站关键词优化公司
  • seo网站做推广 seo won
  • 手机网站与电脑网站兼容seo实战培训教程
  • 网站建设最新签约登封网站关键词优化软件
  • 成都自适应网站建设网上电商怎么做
  • 音乐网站怎么建设销售新人怎么找客户
  • 网站和网店的区别百度电脑网页版
  • 快速网站模板公司网站制作费用
  • 左右网站模版免费建网站最新视频教程
  • 招聘网站怎么做seo百度关键词点击价格查询
  • 北京网站建设seo优化2345网址导航浏览器下载
  • 阿里云做网站要几天关键词排名优化公司外包
  • wordpress code 标签seo专业推广
  • 建设网站6980块钱贵吗seo快速排名案例
  • 竞彩网站建设咖啡seo是什么意思
  • 怎么做盗号网站手机手机系统流畅神器
  • 常规做网站要在工信部认证吗推广策划方案范文
  • 营销型网站功能模块seo是什么意思为什么要做seo
  • bing 提交网站1688seo优化是什么
  • 网站建设---部署与发布seo排名快速优化
  • 个人求职网站设计福建百度代理公司
  • 广州力科网站建设公司代运营公司可靠吗
  • 东莞24小时推广首页seo网络优化是什么意思
  • 网站的结构布局怎样上百度做广告
  • 金华网站建设郑州网站制作推广公司
  • wordpress没有备案aso优化费用
  • 网站建设abc网络推广主要做什么
  • 网站 美化百度指数介绍
  • 凡科可以做淘宝客网站吗sem和seo的区别