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

网站里的动画是什么软件做的网站版式设计

网站里的动画是什么软件做的,网站版式设计,无锡市网站,网站建设新闻中心package study;import java.util.*;public class day01_list {public static void main(String[] args) {// Integer 这个尖括号表示的是 Java 的泛型#xff08;Generics#xff09;// 泛型是 Java 5 引入的一项特性#xff0c;它允许你在 类、接口和方法 中使用类…package study;import java.util.*;public class day01_list {public static void main(String[] args) {// Integer 这个尖括号表示的是 Java 的泛型Generics// 泛型是 Java 5 引入的一项特性它允许你在 类、接口和方法 中使用类型参数从而使代码更具通用性和类型安全性// List 是一个接口代表一个有序的集合其中可以包含重复的元素// Integer 是泛型参数指定这个列表只能存储Integer类型的对象/*ArrayList是List接口的一个具体实现类使用动态数组来存储元素不能使用new List()因为List是一个接口不能直接实例化接口只是定义了一组方法没有具体实现必须实例化一个 List 接口的实现类比如 ArrayList、LinkedList钻石操作符 是 Java 7 引入的一个简化语法用于推断泛型参数类型。在右边使用 new ArrayList() 时编译器会自动推断出这个 ArrayList 的类型参数是 Integer因为左边明确指定了 ListInteger*//*List 是一个接口而 ArrayList 是这个接口的一个具体实现类。在编写代码时使用接口类型来声明变量而用具体的实现类来实例化对象这是面向对象编程中的一种最佳实践称为“接口和实现分离”。多态性通过使用接口类型你可以利用多态性来处理对象。例如你可以编写一个方法它接收 List 类型的参数这样这个方法就可以处理任何 List 的实现类如 ArrayList、LinkedList、Vector 等public void processList(ListInteger list) {for (Integer number : list) {System.out.println(number);}}虽然 List 是一个接口但在 Java 中接口类型的变量可以引用任何实现这个接口的对象。这是因为接口定义了一组方法而实现类提供了这些方法的具体实现。*/// 多态性ListInteger arrayList new ArrayList();ListInteger linkedList new LinkedList();processList(arrayList);processList(linkedList);/*使用接口类型声明变量的限制当你使用接口类型例如 List声明一个变量时你只能调用接口中定义的方法然而如果你需要调用实现类特有的方法例如 ArrayList 的 ensureCapacity 方法你就不能直接通过 List 类型的引用来调用。以下代码是非法的*/ListInteger list new ArrayList();list.add(1);list.add(2);System.out.println(list.size()); // 这行代码是合法的因为 add 和 size 是 List 接口中的方法// list.ensureCapacity(100); // 编译错误因为 List 接口中没有 ensureCapacity 方法}public static void processList(ListInteger list) {for (Integer number : list) {System.out.println(number);}} }interface Animal {void eat(); }interface jiekou {void t(); }// 一个类只能继承一个父类单继承但可以实现多个接口多实现 // 一个接口可以继承多个其他接口多继承 interface Dog extends Animal, jiekou {}class ArrayList_use {/*IterableE (接口)↑CollectionE (接口) - 继承自 IterableE↑ListE (接口) - 继承自 CollectionE↑AbstractCollectionE (抽象类) - 部分实现 CollectionE↑AbstractListE (抽象类) - 继承自 AbstractCollection 部分实现 ListE↑ArrayListE (类) - 继承自 AbstractListE 并实现 ListE 和 CollectionEArrayList 类除了实现 List 接口的方法外还提供了一些独有的方法。这些方法在 List list 中无法直接使用:clone(): ...trimToSize(): 调整 ArrayList 的容量大小使其等于当前列表的大小减少内存使用。ensureCapacity(int minCapacity): 增加 ArrayList 的容量确保它至少可以容纳指定数量的元素。*/// 数组可以包含基本数据类型和引用类型ArrayList只能包含引用类型// 数组的大小在定义后不可以调整大小。ArrayList是基于动态数组实现的可以通过内部扩容自动调整容量public static void main(String[] args) {// 三种构造方法ListInteger list0 new ArrayList(); // 构造一个初始容量为 10 的空列表list0.add(1);System.out.println(list0.size());ListInteger list1 new ArrayList(0); // 直接指定初始大小list1.add(1);System.out.println(list1.size());ListInteger existingList Arrays.asList(1, 2, 3); // 返回一个ArrayList对象ListInteger list2 new ArrayList(existingList); // 使用现成的list来构建System.out.println(list2.size());SetInteger existingSet new HashSet(Arrays.asList(1, 2, 3, 4));ListInteger list3 new ArrayList(existingSet); // 使用现成的set来构建System.out.println(list3.size());// 尾插数据时速度是o(1)// 非尾插数据会涉及元素的移动在添加元素时会涉及到扩容的问题。// 超出初始长度时会创建新的数组将原数组数据赋值到新数组中。扩容原来数组的大小原来数组的一半1.5倍// ArrayList 是线程不安全的:// 线程不安全表示当多个线程同时访问一个对象时如果没有适当的同步机制可能会导致数据不一致或其他错误。// 在 ArrayList 中多个线程同时修改列表可能会导致未定义的行为包括但不限于数据丢失、重复或异常// 1. addListString list4 new ArrayList(Arrays.asList(A, B, C));list4.add(D);System.out.println(list4);list4.add(1, X);System.out.println(list4);// 2. addAllListString temp Arrays.asList(A, B, C);list4.addAll(temp);System.out.println(list4);list4.addAll(1, temp);System.out.println(list4);// 3. forEachlist4.forEach(System.out::println);// 4. clearlist4.clear();System.out.println(list4);// 5. clone// clone() 方法是 ArrayList 类特有的方法而不是 List 接口的方法。// 因此如果你需要克隆一个 ArrayList你需要确保你的变量类型是 ArrayList 而不是 List。ArrayListString existingListTempClone new ArrayList(Arrays.asList(A, C));ArrayListString clonedArrayList (ArrayListString) existingListTempClone.clone();ListString cloneList (ListString) existingListTempClone.clone();// 修改克隆list的对象看看会不会对原来造成影响// 6. setcloneList.set(0, xiugai);// 7. getSystem.out.println(cloneList.get(0));System.out.println(existingListTempClone.get(0));// 8.containsSystem.out.println(cloneList.contains(xiugai));// 9. containsAllListString containsList0 new ArrayList(Arrays.asList(xiugai, C));ListString containsList1 new ArrayList(Arrays.asList(xiugai, X));System.out.println(cloneList.containsAll(containsList0));System.out.println(cloneList.containsAll(containsList1));// 10. indexOfListInteger indexOfList new ArrayList(Arrays.asList(1, 2, 3));System.out.println(indexOfList.indexOf(2));// 11. removeAllListInteger removeList new ArrayList(Arrays.asList(2, 3, 2));indexOfList.removeAll(removeList);// 12. removeListInteger removeList1 new ArrayList(Arrays.asList(1, 2, 3));removeList1.remove(0);removeList1.remove(Integer.valueOf(2)); // Integer.valueOf(2) 将整数 2 包装为 Integer 对象System.out.println(removeList1);// 13. size// 14. isEmpty// 15. subList// 16. toArray// 17. toString// 18. lastIndexOfListDouble doubleList new ArrayList(Arrays.asList(1.0, 5.0, 2.0, 2.0));System.out.println(doubleList.size());System.out.println(doubleList.isEmpty());System.out.println(doubleList.subList(1, 2));System.out.println(doubleList.toArray()[2]);System.out.println(doubleList.toString());System.out.println(doubleList.lastIndexOf(Double.valueOf(2.0)));} }class LinkedList_use {/*IterableE (接口)↑CollectionE (接口) - 继承自 IterableE↑ListE (接口) - 继承自 CollectionE↑AbstractCollectionE (抽象类) - 部分实现 CollectionE↑AbstractListE (抽象类) - 继承自 AbstractCollection 部分实现 ListE↑AbstractSequentialListE (抽象类) - 继承自 AbstractListE↑LinkedListE (类) - 继承自 AbstractSequentialListE 并实现 ListE, DequeE, QueueE, CollectionEIterableE (接口)↑CollectionE (接口) - 继承自 IterableE↑QueueE (接口) - 继承自 CollectionE↑DequeE (接口) - 继承自 QueueE Double Ended QueueLinkedList 类除了实现 List 接口的方法外还实现了 Deque 接口因此提供了一些双端队列Deque和队列Queue的特有方法。这些方法在 List list 中无法直接使用void addFirst(E e)void addLast(E e)boolean offerFirst(E e) // 头部插入元素返回是否成功成功为 true失败为 falseboolean offerLast(E e)E removeFirst()E removeLast()E pollFirst() // 检索并删除此列表的第一个元素,如果此列表为空则返回nullE pollLast()E getFirst()E getLast()E peekFirst() // 返回头部元素,不删除E peekLast()LinkedList也是多线程环境下不安全*/LinkedListInteger list new LinkedList();}/*** ArrayList和LinkedList** 数据结构* ArrayList底层是动态数组在空间中是一段连续的内存* LinkedList底层是链表内存不连续对内存要求低。** 空间利用* ArrayList的空间浪费主要体现在在list列表的结尾预留一定的容量空间* LinkedList的空间花费则体现在它的每一个元素都需要消耗相当的空间** 尾插数据对ArrayList和LinkedList而言在列表末尾增加一个元素时间复杂度都是 o(1)。* 对ArrayList来说尾插速度非常快但是会涉及到一个扩容的问题会进行大量的复制操作。* 而对LinkedList而言使用了链表结构不需要维护大小但是他每次添加需要新建entry对象进行赋值操作。* 总得来说如果不涉及到扩容的问题ArrayList的尾插会更快一些。** 非尾插* 在ArrayList的中间插入或删除一个元素会导致列表中剩余的元素都会被移动因此效率较低插入位置越靠前需要复制调整的元素也越多效率也就越慢。* LinkedList的非尾插首先要通过循环找到需要插入的位置。如果此位置处于前半段则从前往后找若其位置处于后半段则从后往前找。所以在靠前和靠后的位置插入非常高效但是在拥有大量元素的情况下在链表的中间插入元素效率很低。首尾复杂度为o(1)其余为o(n)整体来说还是o(n)** 当操作是在一列数据的后面添加数据而不是在前面或中间并且需要随机地访问其中的元素时使用ArrayList会有更好的性能。* 当操作是在一列数据的前面或中间添加或删除数据并且按照顺序访问其中的元素时就应该使用LinkedList了。*/ class TestArrayListAndLinkedList {public static void main(String[] args) {ListString arraylist new ArrayList();int listSize 100;for(int i0; ilistSize; i){arraylist.add(初始数据);}System.out.println(ArrayList插数据用时 insert(arraylist));ListString linkedList new LinkedList();for(int i0; ilistSize; i){linkedList.add(初始数据);}System.out.println(LinkedList插数据用时 insert(linkedList));}// index10插入// ArrayList数据用时3// LinkedList数据用时0// list.size()/2插入// ArrayList插数据用时4// LinkedList插数据用时1// list.size()-10// ArrayList插数据用时4// LinkedList插数据用时2// 尾插// ArrayList插数据用时3//LinkedList插数据用时0//插入数据分别在头部、中间、尾部四种插入位置10、list.size()/2、list.size()-10、尾插public static Long insert(ListString list){long startTime System.currentTimeMillis();int insertNum 500;for (int i0; iinsertNum; i){list.add(10,数据i); // 中间靠前部分插入 // list.add(list.size()/2,数据i); //中间插入 // list.add(list.size()/210,数据i); //中间靠后插入 // list.add(数据i); // 尾插}long endTime System.currentTimeMillis();return endTime-startTime;}} 接口和抽象类是 Java 编程语言中用于实现抽象的两种主要机制。它们允许你定义类的骨架和行为规范而不提供具体的实现。 接口Interface 概述 接口是一个完全抽象的类它只包含方法的声明没有方法体和常量。接口用于定义一组方法这些方法必须由实现接口的类提供具体的实现。 特点 完全抽象接口中的方法默认是 public 和 abstract不能有方法体直到 Java 8 引入默认方法和静态方法。多重继承一个类可以实现多个接口打破了 Java 单继承的限制。变量接口中的变量默认是 public、static 和 final。默认方法和静态方法从 Java 8 开始接口可以包含默认方法有方法体和静态方法。私有方法从 Java 9 开始接口可以包含私有方法这些方法只能在接口中调用。 示例 public interface Animal {void eat(); // 抽象方法默认是 public abstractvoid sleep();// 默认方法default void breathe() {System.out.println(Breathing...);log(breathe);}// 静态方法static void info() {System.out.println(Animal Interface);logStatic(info);}// 私有方法private void log(String activity) {System.out.println(Logging activity: activity);}// 私有静态方法private static void logStatic(String activity) {System.out.println(Logging static activity: activity);} }抽象类Abstract Class 抽象类在 Java 中是用于定义类的骨架的类包含具体方法有方法体和抽象方法没有方法体。抽象类不能被实例化必须被子类继承并且如果子类不是抽象类那么子类必须实现所有抽象方法。 抽象方法和具体方法抽象类可以包含抽象方法和具体方法。抽象方法没有方法体具体方法有方法体。子类必须实现抽象方法或者自身也声明为抽象类。成员变量抽象类可以包含成员变量可以使用各种访问修饰符public、protected、private。构造方法抽象类可以有构造方法但不能用来创建对象实例。构造方法通常用于初始化类的成员变量。继承一个类只能继承一个抽象类单继承但抽象类可以被多个类继承。实现接口抽象类可以实现接口并且不需要实现接口中的所有方法。子类可以选择实现剩余的方法。 public abstract class Animal {private String name; // 成员变量// 构造方法public Animal(String name) {this.name name;}// 抽象方法public abstract void eat();public abstract void sleep();// 具体方法public void breathe() {System.out.println(name is Breathing...);}// 获取名称的方法public String getName() {return name;} }
http://www.dnsts.com.cn/news/167067.html

相关文章:

  • 做网站可以不买域名和主机吗计算机做网站开题报告
  • 学做网站用什么服务器公众号交易平台
  • 网站后台管理系统怎么登陆seo关键词软件
  • 遂宁微章建设举报网站网站建设与管理 需求分析
  • 查看网站服务器版本网站排名软件利搜
  • 网站建设推广型直播网站app开发
  • 做一个电子商务网站wordpress媒体库太大
  • 泰安集团网站建设价格上海做网站费用
  • 长沙网站建设推荐网站制作方法
  • 成立网站建设公司要求十大社交电商购物平台
  • 高端网站建设公司新鸿儒衡水做wap网站费用
  • 化学商城网站建设360广告联盟怎么做网站
  • 输入法网站设计自建站有哪些站点
  • 装修之家网站乐山旅游 英文网站建设
  • 江苏省 建设 注册中心网站首页医院内外网站建设
  • 深圳建设高端网站win7优化大师官方免费下载
  • 网站优化公司服务wordpress audio主题
  • 北京高档网站建设做个网站需要什么
  • 申请阿里巴巴网站首页移动网站的建设
  • 网站开发能干什么网站安装系统怎么安装教程视频
  • 哪里做外贸网站创建信息平台的方法
  • 网页模版是已经做好的赣州优化公司
  • 随州做网站公司个人可以做外贸网站吗
  • 抚顺清原网站建设招聘湖南营销型网站建设报价
  • 兼职网网站建设方案江苏天宇建设集团网站
  • 做的精美的门户网站推荐教育类网站怎么做
  • 国内团购网站做的最好的是四川在建项目信息查询
  • 网站建设对我有什么好处江西企业网站建设电话
  • wordpress如何设置用户浏览权限安卓aso关键词优化
  • 集团网站建设的要求网络推广营销网