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

淘宝天猫优惠卷网站建设首饰行业网站建设策划

淘宝天猫优惠卷网站建设,首饰行业网站建设策划,c 网站开发中间层怎么写,做一个网站能挣多少钱1. List接口 List接口继承自Collection接口#xff0c;List接口实例中允许存储重复的元素#xff0c;所有的元素以线性方式进行存储。在程序中可以通过索引访问List接口实例中存储的元素。另外#xff0c;List接口实例中存储的元素是有序的#xff0c;即元素的存入顺序和取…1. List接口 List接口继承自Collection接口List接口实例中允许存储重复的元素所有的元素以线性方式进行存储。在程序中可以通过索引访问List接口实例中存储的元素。另外List接口实例中存储的元素是有序的即元素的存入顺序和取出顺序一致。 1.1. List接口的常用方法 List作为Collection集合的子接口不但继承了Collection接口中的全部方法而且还增加了一些根据元素索引操作集合的特有方法。List接口的常用方法如下表所示。 方法声明 功能描述 void add(int index,Object element) 将元素element插入List的index索引处 boolean addAll(int index,Collection c) 将集合c所包含的所有元素插入到List集合的index索引处 Object get(int index) 返回集合index索引处的元素 Object remove(int index) 删除index索引处的元素 Object set(int index, Object element) 将index索引处元素替换成element对象并将替换后的元素返回 int indexOf(Object o) 返回对象o在List中第一次出现的位置索引 int lastIndexOf(Object o) 返回对象o在List中最后一次出现的位置索引 List subList(int fromIndex, int toIndex) 返回从索引fromIndex包括到 toIndex不包括处所有元素集合组成的子集合 1.2. ArrayList ArrayList是List接口的一个实现类它是程序中最常见的一种集合。ArrayList集合内部封装了一个长度可变的数组对象当存入的元素超过数组长度时ArrayList会在内存中分配一个更大的数组来存储这些元素因此可以将ArrayList集合看作一个长度可变的数组。 public class TestDemo {Testpublic void test(){ArrayList list new ArrayList(); // 创建ArrayList集合list.add(张三); // 向集合中添加元素list.add(李四);list.add(王五);list.add(赵六);System.out.println(集合的长度 list.size()); //获取集合中元素的个数System.out.println(第2个元素是 list.get(1)); //取出并打印指定位置的元素list.remove(3); //删除索引为3的元素System.out.println(删除索引为3的元素:list);list.set(1,李四2); //替换索引为1的元素为李四2System.out.println(替换索引为1的元素为李四2:list);}} 1.3. ArrayList练习 ArrayList存储多个学生信息学生信息包含name和age属性然后for循环输出学生信息。 Student类 public class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };} } 测试类 public class TestDemo {Testpublic void test(){Student stu1 new Student();stu1.setName(张三);stu1.setAge(20);Student stu2 new Student();stu2.setName(李四);stu2.setAge(22);ArrayList list new ArrayList();list.add(stu1);list.add(stu2);for(int i0;ilist.size();i){Student stu (Student) list.get(i);System.out.println(stu);}}} 1.4. LinkedList 由于ArrayList集合的底层是使用一个数组来存储元素在增加或删除指定位置的元素时会创建新的数组效率比较低因此Arraylist集合不适合做大量的增删操作而适合元素的查找。为了克服ArrayList集合在查询元素时速度很快但在增删元素时效率较低的局限性可以使用List接口的另一个实现类LinkedList。 LinkedList集合内部维护了一个双向循环链表链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素从而可以将所有的元素彼此连接起来。当插入一个新元素时只需要修改元素之间的引用关系即可删除一个节点也是如此。正因为这样的存储结构所以LinkedList集合增删效率非常高。 1LinkedList集合添加、删除元素过程如下图所示。 2LinkedList案例 public class TestDemo {Testpublic void test(){LinkedList link new LinkedList(); // 创建LinkedList集合link.add(张三);link.add(李四);link.add(王五);link.add(赵六);System.out.println(link.toString()); // 获取并打印该集合中的元素link.add(3, Student); // 向link集合中索引3处插入元素Studentlink.addFirst(First); // 向link集合第一个位置插入元素FirstSystem.out.println(link);System.out.println(link.getFirst()); // 取出link集合中第一个元素link.remove(3); // 移除link集合中指定索引位置为3的元素link.removeFirst(); // 移除link集合中第一个元素System.out.println(link);}} 1.5. LinkedList练习 LinkedList存储多个学生信息学生信息包含name和age属性然后for循环输出学生信息。 Student类 public class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };} } 测试类 public class TestDemo {Testpublic void test(){Student stu1 new Student();stu1.setName(张三);stu1.setAge(20);Student stu2 new Student();stu2.setName(李四);stu2.setAge(22);LinkedList list new LinkedList();list.add(stu1);list.add(stu2);for(int i0;ilist.size();i){Student stu (Student) list.get(i);System.out.println(stu);}}} 2. 集合遍历 Iterator接口是Java集合框架中的一员但它与Collection、Map接口有所不同Collection接口与Map接口主要用于存储元素而Iterator主要用于迭代访问遍历Collection中的元素通常情况下Iterator对象也被称为迭代器。 2.1. 迭代器迭代元素过程 迭代器对象在遍历集合时内部采用指针的方式来跟踪集合中的元素。迭代器迭代元素过程如下图所示。 注意通过迭代器获取ArrayList集合中的元素时这些元素的类型都是Object类型如果想获取到特定类型的元素则需要进行对数据类型强制转换。 2.2. 迭代器案例 public class TestDemo {Testpublic void test(){ArrayList list new ArrayList(); // 创建ArrayList集合list.add(张三); // 向该集合中添加字符串list.add(李四);list.add(王五);list.add(赵六);Iterator it list.iterator(); // 获取Iterator对象while (it.hasNext()) { // 判断ArrayList集合中是否存在下一个元素Object obj it.next(); // 取出ArrayList集合中的元素System.out.println(obj);}}} 2.3. 迭代器练习 ArrayList存储多个学生信息然后使用Iterator遍历输出学生信息。 Student类 public class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };} } 测试类 public class TestDemo {Testpublic void test(){Student stu1 new Student();stu1.setName(张三);stu1.setAge(20);Student stu2 new Student();stu2.setName(李四);stu2.setAge(22);ArrayList list new ArrayList();list.add(stu1);list.add(stu2);//遍历Iterator it list.iterator();while (it.hasNext()){Student stu (Student) it.next();System.out.println(stu);}}} 3. Set接口 3.1. Set接口概述 Set接口也继承自Collection接口它与Collection接口中的方法基本一致并没有对Collection接口进行功能上的扩充。与List接口不同的是Set接口中元素是无序的并且都会以某种规则保证存入的元素不出现重复。 Set接口常见的实现类有3个分别是HashSet、LinkedHashSet、TreeSet。其中HashSet根据对象的哈希值来确定元素在集合中的存储位置具有良好的存取和查找性能LinkedHashSet是链表和哈希表组合的一个数据存储结构TreeSet则是以二叉树的方式存储元素它可以对集合中的元素进行排序。 3.2. HashSet HashSet是Set接口的一个实现类它所存储的元素是不可重复的。当向HashSet集合中添加一个元素时首先会调用该元素的hashCode()方法来确定元素的存储位置然后再调用元素对象的equals()方法来确保该位置没有重复元素。Set集合与List集合存取元素的方式都一样但是Set集合中的元素是无序的。 1HashSet案例 public class TestDemo {Testpublic void test(){HashSet hset new HashSet(); // 创建HashSet集合hset.add(张三); // 向该Set集合中添加字符串hset.add(李四);hset.add(王五);hset.add(李四); // 向该Set集合中添加重复元素Iterator it hset.iterator(); // 获取Iterator对象while (it.hasNext()) { // 通过while循环判断集合中是否有元素Object obj it.next(); // 如果有元素就调用迭代器的next()方法获取元素System.out.println(obj);}}} 2HashSet存储元素的流程 当调用HashSet集合的add()方法存入元素时首先调用HashSet集合的hashCode()方法获得元素对象的哈希值然后根据对象的哈希值计算出一个存储位置。如果该位置上没有元素则直接将元素存入。如果该位置上有元素存在则会调用equals()方法让当前存入的元素和该位置上的元素进行比较如果返回的结果为false就将该元素存入集合返回的结果为true则说明有重复元素就将需要存入的重复元素舍弃。 3HashSet存储自定义对象 HashSet存储多个学生信息然后使用Iterator遍历输出学生信息。 注意HashSet中如果去掉地址不同但是内容相同的Student的重复元素需要定义在Student类时重写hashCode()和equals()方法。 Student类 public class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , age age };}Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return age student.age Objects.equals(name, student.name);}Overridepublic int hashCode() {return Objects.hash(name, age);} } 测试类 public class TestDemo {Testpublic void test(){Student stu1 new Student();stu1.setName(张三);stu1.setAge(20);Student stu2 new Student();stu2.setName(李四);stu2.setAge(22);Student stu3 new Student();stu3.setName(李四);stu3.setAge(22);HashSet hset new HashSet(); // 创建HashSet集合hset.add(stu1);hset.add(stu2);hset.add(stu3);Iterator it hset.iterator(); // 获取Iterator对象while (it.hasNext()) {Object obj it.next();System.out.println(obj);}}}
http://www.yingshimen.cn/news/23620/

相关文章:

  • 寻乌建设局网站临夏网站建设公司
  • 网站制作问题 图片版权装饰公司办公室图片
  • 彩票销信 网站怎么做建设工程现行标准查询网站
  • 电商网站建设的内容cms系统首页
  • 网站的管理和维护互联网信息投诉平台入口
  • 成都企业网站建设那家好十大手游平台app排行榜
  • 免费带后台的网站模板淘宝流量助手平台
  • 天津建设工程协会网站蛋糕行业网站建设方案
  • 长春做网站推广的公司青岛建手机网站公司
  • 最简单的网站设计大批量刷关键词排名软件
  • 企业做网站的必要性dw软件可以做哪些网站
  • 企业网站建设 骆诗设计网站建设的整体流程
  • 公司如何做网站一般多少钱自己怎么做网站卖东西
  • 山东省城市建设管理协会网站企业网站建站流程
  • cnzz统计代码如何添加到网站上去钓鱼网站建设
  • 手机版网站怎么上传南阳优化网站排名
  • 网站站内推广怎么做服务好的高端网站建设企业
  • 江苏网站建设制作项目前期工作6个步骤
  • 英文版企业网站布局设计怎么做个人网站
  • 微信网站链接网站建设建设局现在改为什么名称
  • linux怎么做网站企业网站开发报价单
  • vs做网站怎么调试免费推广的预期效果
  • 网站如何做微信支付宝支付宝支付宝接口怎样卸载微信wordpress
  • 福建建设工程报建网站wordpress前端主题
  • 保定网站建设方案维护wordpress自带搜索吗
  • 免费asp网站空间外贸企业网站对外贸的重要性
  • 网站建设验收报告做响应式网站
  • 网站文字格式phpcms做网站感想
  • 北京住房和建设部网站怎么做网页中不显示项目符号
  • 祥云平台网站管理系统网站开发方向