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

怎么做快法务类似网站整个网站都在下雪特效怎么做

怎么做快法务类似网站,整个网站都在下雪特效怎么做,达州做网站的公司,网业端云服务文章目录 摘要CollectionCollection集合遍历Iterator迭代器增强for循环 排序 ListArrayListLinkedListVector SetHashSet Map小结 摘要 Java的集合框架提供了一组用于存储、管理和操作数据的类和接口。这个框架提供了各种数据结构#xff0c;如列表、集合、队列和映射#x… 文章目录 摘要CollectionCollection集合遍历Iterator迭代器增强for循环 排序 ListArrayListLinkedListVector SetHashSet Map小结 摘要 Java的集合框架提供了一组用于存储、管理和操作数据的类和接口。这个框架提供了各种数据结构如列表、集合、队列和映射以满足不同的数据处理需求。 根据实现接口可以分为Collection、Map两大类 Collection Collection集合遍历 Collection所有的实现子类集合都可以通过以下两种方式进行元素遍历 Iterator迭代器增强for循环 详细的介绍如下 Iterator迭代器 Iterator称为迭代器主要用于遍历Collection集合中的元素所有实现了Collection接口的集合子类都有一个Iterator()方法返回Iterator对象即迭代器 执行原理 Code Iterator iterator[Collection].iterator(); //创建一个迭代器 while(iterator.hasNext()){ //循环直到集合中没有元素为止System.out.println(iterator.next()); //获取下一个元素并打印出来 }iterator() 方法用于获取集合的迭代器对象这个迭代器对象用于遍历集合中的元素。iterator.hasNext()它会不断检查迭代器是否有下一个元素。如果有下一个元素则循环会继续执行。iterator.next()返回下一个元素并将迭代器的位置移动到下一个元素。遍历完成后next指针指向最后一个位置。 如果想要充值next指针可以执行一下代码 iterator[Collection].iterator();此时next指针就会指向第一位。 增强for循环 增强for循环底层任然是Iterator迭代器可以理解为简化版的Iterator。 Code List listnew ArrayList(); 。。。 //增强for循环 for(Object str:list){System.out.println(str); }排序 Comparable 接口和 Comparator 接口都是 Java 中用于排序的接口它们在实现类对象之间比较大小、排序等方面发挥了重要作用 Comparable接口有一个CompareToObject obj方法用来排序 用于比较当前对象和传入对象的顺序-1表示当前对象小于0表示等于1表示大于。 public class Person implements ComparablePerson {private String name;private int age;public Person(String name, int age) {super();this.name name;this.age age;}/*** T重写compareTo方法实现按年龄来排序*/Overridepublic int compareTo(Person o) {if (this.age o.getAge()) {return 1;}if (this.age o.getAge()) {return -1;}return 0;} }public static void main(String[] args) {TreeMapPerson, String pdata new TreeMapPerson, String();pdata.put(new Person(张三, 30), zhangsan);pdata.put(new Person(李四, 20), lisi);pdata.put(new Person(王五, 10), wangwu);pdata.put(new Person(小红, 5), xiaohong);// 得到key的值的同时得到key所对应的值SetPerson keys pdata.keySet();for (Person key : keys) {System.out.println(key.getAge() - key.getName());}} 输出 5-小红 10-王五 20-李四 30-张三Comparator接口有一个**CompareObject obj1Object obj2**方法用来排序 用于比较两个对象-1表示当前对象小于0表示等于1表示大于。 ArrayListInteger arrayList new ArrayListInteger(); arrayList.add(-1); arrayList.add(3); arrayList.add(3); arrayList.add(-5); arrayList.add(7); arrayList.add(4); arrayList.add(-9); arrayList.add(-7); // 定制排序的用法 Collections.sort(arrayList, new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return o2.compareTo(o1);} }); System.out.println(定制排序后); System.out.println(arrayList);List 特点 List集合类中元素是有序的按插入顺序排序且可以重复的null也可以每个元素多有对应的索引 子类描述效率ArrayList基于动态数组的有序集合。高LinkedList基于双向链表的有序集合。高Vector与 ArrayList 类似但是线程安全。低 常见方法 方法说明add(E element)向列表末尾添加一个元素。add(int index, E element)在指定位置插入一个元素。get(int index)获取指定索引位置的元素。set(int index, E element)替换指定索引位置的元素。remove(int index)移除指定索引位置的元素。size()获取列表的大小。contains(Object obj)检查列表是否包含指定的元素。indexOf(Object obj)获取指定元素在列表中的第一个出现位置的索引。clear()清空列表中的所有元素。toArray()将列表转换为数组。addAll(Collection? extends E c)将另一个集合的所有元素添加到当前列表中。 ArrayList 数据结构 ArrayList的数据结构由数组实现数据存储如下图所示 特点 线程不安全执行效率高在多线程的情况下不建议使用。 源码分析 ArrayList中维护了一个Object类型的数组elementData[]存储元素。 transient Object[] elementData; // transient表示该变量不会被序列化创建ArrayList对象 默认使用的无参构造则初始化容量为elementData0第一次添加元素则扩容elementData10如果还需要扩容则扩容elementData为1.5倍。 List listnew ArrayList();源码如下 添加元素 list.add(元素);源码如下 LinkedList 数据结构 LinkedList底层实现了双向链表、双端队列特点。 特点 可以添加任意元素可以重复包括null线程不安全没有实现线程同步 Vector 数据结构 Vector底层是一个对象数组 protected Object[] elementData特点 Vector是线程同步的即线程安全操作方法带有synchronized支持线程同步和互斥public synchronized void addElement(E obj) {modCount;ensureCapacityHelper(elementCount 1);elementData[elementCount] obj;}Set 特点 无序添加的顺序和访问的顺序不一致、没有索引不允许重读元素最多包含一个null HashSet 数据结构 HashSet的底层实际上是HashMapHashMap的底层是数组链表红黑树 1. **元素存储到Key** HashSet 中每个元素都被存储为键-值对但值部分被设置为一个固定的常量PRESENT通常是**Object**类型的占位符而不是实际的值。 java HashSetString set new HashSet(); set.add(test);底层键值对testPRESENT扩容机制 HashSet默认数组长度11每次扩充为原来的2n1。 添加元素 当HashSet添加元素时首先会计算元素的哈希码hashCode并根据哈希码确定元素在哈希表中的位置 //计算hashCode static final int hash(Object key) {int h;// key.hashCode()返回散列值也就是hashcode// ^按位异或// :无符号右移忽略符号位空位都以0补齐return (key null) ? 0 : (h key.hashCode()) ^ (h 16);}判断链表是否有相同元素对于多个对象来说hashCode可能相同所以使用equals()方法来判断对象是否相同 不相同直接添加相同不添加。 如果有链表长度8且table的长度64先进行扩容然后将链表转为红黑树。 Map 小结 Java集合框架为开发人员提供了强大的工具以满足各种数据处理需求。了解不同集合类型的特性和适用场景对于编写高效和可维护的Java应用程序至关重要。通过选择合适的数据结构和算法开发人员可以更轻松地解决各种问题。
http://www.w-s-a.com/news/504462/

相关文章:

  • 网站建设与管理是干嘛的中国新闻社是什么单位
  • 帮别人做视频剪辑的网站传业做微采商城网站
  • 设计一个网站开发方案宣传片制作企业
  • 新网站收录多少关键词免费一键网站
  • 网页制作与网站建设 在线作业手表网站制作照片
  • 电商网站开发技术与维护重庆建筑工程交易信息网
  • 人和马做的网站线上营销推广方式
  • 青海教育厅门户网站有赞商城
  • 网站建设多语种自动翻译插件wordpress谷歌翻译插件
  • 泰安高级网站建设推广wordpress教程 好看
  • 我自己的网站怎么做关键词优化泰安网站建设dxkjw
  • 平面设计做画册用网站泰州seo平台
  • 申请一个域名后怎么做网站evernote wordpress
  • 网站左侧导航栏设计网站开发后台数据怎么来
  • 临西做网站报价网站建设需要写语句吗
  • 建设网站网站首页购物网站开发代码
  • 淘宝客怎么建立网站网站360优化
  • 安徽建海建设工程有限公司网站网站空间和域名价格
  • 农产品网站建设策划哪里有做枪网站的
  • 更改各网站企业信息怎么做张家港企业网站制作
  • 郑州网站建设咨询银川做网站哪家好
  • 微信网站 微信支付合肥seo排名收费
  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色
  • 大型电商网站开发金融企业网站建设公司
  • 成都营销型网站建设价格化妆品品牌推广方案