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

网站定制牛七科技网站空间怎么建站

网站定制牛七科技,网站空间怎么建站,织梦云建站系统,ppt制作入门教程集合 概念#xff1a;是提供一种存储空间 可变 的存储模型#xff0c;存储的数据容量可以发生改变。#xff08;也就是集合容量不固定#xff09; 集合关系图 绿色的代表接口#xff0c;蓝色的代表接口的实现类 单列集合 Collection(接口) 概述#xff1a;单列集合的…集合 概念是提供一种存储空间 可变 的存储模型存储的数据容量可以发生改变。也就是集合容量不固定 集合关系图 绿色的代表接口蓝色的代表接口的实现类 单列集合 Collection(接口) 概述单列集合的顶层接口表示一组对象这些对象也称为Collection的元素不提供此接口的任何直接实现。 常用方法 方法作用boolean add(E e)添加元素boolean remove(Object obj)从集合中移除指定的元素void clear()清空集合中的元素boolean contains(Object obj)判断集合中是否存在指定的元素boolean isEmpty()判断集合是否为空int size()集合的长度也就是集合中元素的个数 使用方法 import java.util.ArrayList; import java.util.Collection; public class Test{// 遍历集合public static void show(Collection co){for(Object c : co){System.out.println(c);}}public static void main(String args[]){// 1、创建集合对象,Collection 是接口所以创建对象只能用其子类实现类Collection c new ArrayList();// 2、添加元素c.add(1);c.add(张三);c.add(true);// 3、遍历集合show(c);// 4、移除指定元素c.remove(1);// 5、遍历集合show(c);// 6、清空集合中元素c.clear();// 7、判断集合中是否存在指定元素boolean flag;flag c.contains(张三);System.out.println(flag);// 8、判断集合是否为空flag c.isEmpty();System.out.println(flag);// 9、得到集合元素个数int num c.size();System.out.println(num);} }注意我们可以看到我们向集合中 添加了 整型 1 字符串 张三 布尔型 true 所以集合是可以存储不同数据类型的容器而数组是存储相同数据类型的容器 注意接下来的集合都用泛型进行限定如果不理解泛型可以去参考下这篇文章泛型-限定存储数据类型 List 概述List 集合是一个有序集合。用户可以精确控制列表中的每个元素的插入位置用户也可以通过整数索引访问元素并搜索列表中的元素。列表中通常允许重复的元素。List 接口是继承其父类Collection 接口的。 List 集合特点 有序存储和取出的元素顺序一致可重复存储的元素可以重复 List 的两个实现类 ArrayList底层结构是数组查询快增删慢LinkedList底层结构是链表查询慢增删快 集合的遍历参考这篇文章集合的三种遍历方式 ArrayList 特有方法特指其父类 Collection 没有的那些 方法作用void add(int index , E element)在集合指定位置插入指定的元素E remove(int index)删除指定索引处的元素返回被删除的元素E set(int index , E element)修改指定索引处的元素返回被修改的元素E get(int index)返回指定索引处的元素 使用方法 import java.util.ArrayList; import java.util.List; public class Test{public static void main(String[] args) {// 1、创建集合,使用泛型限定集合存储数据类型ListString list new ArrayListString();// 2、指定位置添加元素list.add(0,王五);list.add(1,张三);// 3、返回指定索引处的元素String s;s list.get(1);System.out.println(修改前 s);// 4、修改指定索引处元素String s1 list.set(1, 李四);s list.get(1);System.out.println(被修改的元素是 s1);System.out.println(修改后 s);// 5、删除指定索引元素并返回被删除元素String s2 list.remove(1);System.out.println(被删除的元素是 s2);// 6、集合中元素个数System.out.println(集合中元素个数 list.size());} }LinkedList 特有方法 方法作用void addFirst(E e)在该列表开头插入指定的元素void addLast(E e)将指定元素追加到此列表的末尾E getFirst()返回此列表中的第一个元素E getLast()返回此列表中的最后一个元素E removeFirst()从此列表中删除并返回第一个元素E removeLast()从此列表中删除并返回最后一个元素 使用方法 import java.util.LinkedList; public class Test6 {public static void main(String[] args) {// 1、创建集合,使用泛型限定集合存储数据类型LinkedListString list new LinkedListString();// 2、在列表开头插入元素list.addFirst(张三);list.add(李四);list.add(王五);// 4、在列表尾部插入元素list.addLast(牛六);// 5、返回列表第一个元素System.out.println(集合第一个元素 list.getFirst());// 6、返回列表最后一个元素System.out.println(集合最后一个元素 list.getLast());// 7、删除并返回列表第一个元素System.out.println(被删除的元素是 list.removeFirst());// 8、删除并返回列表最后一个元素System.out.println(被删除的元素是 list.removeLast());// 9、遍历集合System.out.print(集合中还有的元素是);for (String s : list) {System.out.print(s );}} }Set 概述不包含重复元素的集合没有带索引的方法所以不能使用普通 for 循环遍历 特点 对集合的迭代顺序不做任何保证无序 Set 集合的三个实现类 HashSet底层是哈希表TreeSet底层是树LinkedHashSet底层是 哈希表和链表 HashSet 概述底层数据结构是 哈希表数组 链表 特点 HashSet 集合存储元素要保证元素的唯一性【需要重写 hashCode() 和 equals() 方法】 import java.util.HashSet; import java.util.Objects; class Pig{private int age;Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Pig pig (Pig) o;return age pig.age;}Overridepublic int hashCode() {return Objects.hash(age);} } public class Test7 {public static void main(String[] args) {// 1、创建集合HashSetPig hs new HashSetPig();// 2、添加元素(添加重复元素)Pig p1 new Pig();Pig p2 new Pig();hs.add(p1);hs.add(p1);hs.add(p2);// 3、遍历元素for (Pig h : hs) {System.out.println(h.hashCode());}} }可以注销 hashCode() 和 equals() 方法看下 LinkedHashSet 概述哈希表和链表实现的 Set 接口具有可预测的迭代次序 特点 由链表保证元素有序也就是说元素的存储和取出顺序是一致的由哈希表保证元素的唯一性 public class Test{public static void main(String[] args) {// 1、创建集合对象LinkedHashSetString lhs new LinkedHashSetString();// 2、添加元素lhs.add(张三);lhs.add(王五);lhs.add(张三);lhs.add(李四);// 3、遍历集合for (String lh : lhs) {System.out.print(lh );}} }最终运行结果张三 王五 李四 可以看到元素有序并且元素唯一 TreeSet 概述底层是树的Set集合按照一定的规则进行排序具体排序取决于构造方法 特点 元素有序这里的顺序不是存储和取出的顺序元素唯一Set集合重写 hashCode() 和 equals() 保持元素唯一 两种排序规则 自然排序比较器排序 构造方法 方法作用TreeSet()根据元素的自然排序进行排序TreeSet(Comparator comparator)根据指定的比较器进行排序 自然排序 比较对象时候该对象类要实现 Comparable 接口 该对象类重写 compareTo(E e)方法(规则如下) 返回 0 不比较返回 1(正数)升序输出返回 -1(负数)降序输出 例子1逆序向集合存储元素遍历集合 注意String 已经实现了 Comparable 接口重写了 compareTo() 方法 例子2按照年龄输出年龄相同按照姓名字母排序升序 this 代表当前类s 代表的是已经在集合中的类 import java.util.TreeSet;// 自然排序 class Student implements ComparableStudent{private int age;private String name;public Student(int age , String name){this.age age;this.name name;}Overridepublic String toString() {return Student{ age age , name name \ };}Overridepublic int compareTo(Student s) {int num1 this.age - s.age;// 年龄相同按照姓名排序int num2 (num1 0) ? this.name.compareTo(s.name) : num1;return num2;} }public class Test {public static void main(String[] args) {// 1、创建集合对象TreeSetStudent ts new TreeSetStudent();// 2、添加元素ts.add(new Student(7,xiaoHeng));ts.add(new Student(6,xiaoBai));ts.add(new Student(8,xiaoLi));ts.add(new Student(7,abc));// 3、遍历元素for (Student t : ts) {System.out.println(t);}} }比较器排序 概述带参构造方法使用的是比较器排序对元素进行排序 比较器排序就是让集合构造方法接收 Comparator 的实现类对象。重写compareToT s1, T s2)匿名内部类的方式实现 注意 重写方法时一定要注意排序规则按照要求的主要次要条件来写否则有的不能实现次要条件一定要满足所有要求 例子1按照字符串的长度进行排序从小到大 import java.util.Comparator; import java.util.TreeSet;public class Test {public static void main(String[] args) {// 1、创建集合对象使用比较器排序TreeSetString ts new TreeSet(new ComparatorString() {Overridepublic int compare(String s1, String s2) {int num s1.length() - s2.length();return num;}});// 2、添加元素ts.add(abc);ts.add(abcd);ts.add(ab);ts.add(a);// 3、遍历集合for (String t : ts) {System.out.print(t );}} }运行结果a ab abc abcd 例子2首先按照年龄进行降序排序再按姓名升序排序再按照姓名长度进行升序排序 import java.util.Comparator; import java.util.TreeSet;class Pig{private int age;private String name;public Pig(int age, String name) {this.age age;this.name name;}public int getAge() {return age;}public String getName() {return name;}Overridepublic String toString() {return Pig{ age age , name name \ };} } public class Test2 {public static void main(String[] args) {// 1、创建集合对象使用比较器排序TreeSetPig ts new TreeSet(new ComparatorPig() {Overridepublic int compare(Pig s1, Pig s2) {int num1 s2.getAge() - s1.getAge();int num2 (num1 0) ? s1.getName().compareTo(s2.getName()) : num1;int num3 (num2 0) ? s1.getName().length() - s2.getName().length() : num2;return num3;}});// 2、添加元素ts.add(new Pig(5,abc));ts.add(new Pig(6,efg));ts.add(new Pig(7,hij));ts.add(new Pig(5,bcde));ts.add(new Pig(5,bcd));// 3、遍历集合for (Pig t : ts) {System.out.println(t);}} }运行结果 Pig{age7, name‘hij’} Pig{age6, name‘efg’} Pig{age5, name‘abc’} Pig{age5, name‘bcd’} Pig{age5, name‘bcde’} Map 概述Map 集合是一个 键值对 集合将键映射到值的对象不能包含重复的键每个键可以映射到最多一个值 MapK,V K:键的类型V:值的类型 特点 键唯一值可重复键对应唯一的值一个值可对应多个键当键第二次出现时会将之前的值覆盖掉 常用方法 方法作用V put(K key , V value)添加元素V remove(Object key)根据键删除键值对元素当集合中没有此键的时候返回 nullvoid clear()移除所有的键值对元素慎用boolean containsKey(Object key)判断集合是否包含指定的键boolean containsValue(Object value)判断集合是否包含指定的值boolean isEmpty()判断集合是否为空int size()集合的长度集合中键值对的个数V get(Object key)根据键获取值当集合中没有此键的时候返回 nullSet keySet()获取所有键的集合set无法使用普通 for 循环Collection values()获取所有值的集合SetMap.EntryK,V entrySet()获取所有键值对对象的集合 使用方法 import java.util.HashMap; import java.util.Map; import java.util.Set;public class Test3 {// 遍历方法一public static void show(MapInteger,String map){// 1、获取所有键的集合SetInteger keySet map.keySet();// 2、根据键获取值for (Integer key : keySet) {// 根据键获取值String s map.get(key);System.out.println(key --- s);}}// 遍历方法二public static void print(MapInteger,String map){// 1、获取所有键值对的集合SetMap.EntryInteger, String entrySet map.entrySet();// 2、遍历for (Map.EntryInteger, String es : entrySet) {System.out.println(es.getKey() --- es.getValue());}}public static void main(String[] args) {// 1、创建集合对象MapInteger,String m new HashMapInteger, String();// 2、添加元素m.put(1,张三);m.put(2,李四);m.put(3,王五);show(m);// 3、根据键 删除 键值对没有此键 返回 nullm.remove(1);print(m);// 4、判断集合是否包含指定的键、值System.out.println(m.containsKey(1));System.out.println(m.containsValue(李四));} }运行结果 1 — 张三 2 — 李四 3 — 王五 2 — 李四 3 — 王五 false true HashMap 和 TreeMap TreeMapK,V : 对应 TreeSet 两种排序可参考 自然排序 和 无参排序 哈希值 概述是 JDK 根据对象的地址 或者 字符串 或者 数字 算出来的 int 类型的数值。 Object 类中有一个方法可以获取对象的哈希值 方法作用public int hashCode()返回对象的哈希值 特点 默认情况下不同对象的哈希值是不相同的Object 通过方法重写可以实现不同对象的哈希值是相同的重写 hashCode() 方法 String 字符串重写了 hashCode 方法所以不同内容的哈希值相同
http://www.zqtcl.cn/news/359792/

相关文章:

  • 做健身俱乐部网站的目的和意义商超网站
  • 网站点击排名phpcms安装
  • 鹧鸪哨网站1v1深度开发最吸引人的营销广告文案
  • 网站建设可以学吗如何修改wordpress的登录
  • 保定做网站的公司百度软件商店
  • 金华市金东区建设局网站wordpress好看的下载页面
  • 英文网站seo发展前景成都网站开发建设推广
  • p2p网贷网站建设方案制作网站专业公司吗
  • 益阳网站建设企业房地产市场最新动态
  • 关于公司网站改版通知jmr119色带
  • 城关区建设局网站珠海中英文网站建设
  • 长春哪家做网站便宜手机英语网站
  • 应城网站建设莱芜拉呱
  • 如何建立淘宝客网站HTML网站建设课程
  • 网站建设供需chrome不安全的网站设置
  • 网站dns修改中国楼市未来发展趋势
  • 网站超级链接怎么做帮别人发广告赚钱平台
  • 做网站可以赚钱么注册做网站的公司
  • 河南省建协网官方网站建网站卖阀门
  • 医院网站怎么制作重庆安全监督工程信息网
  • 饰品网站建设规划书搭建微信网站
  • 开发网站访问流量赚钱加盟网站需要怎么做
  • 装饰协会网站源码湖南省郴州市北湖区
  • 花都网站建设价格重庆市住房和城乡建设厅网站
  • 北京住总第一开发建设有限公司网站wordpress 网站访问认证页面
  • 网站制作的管理苏州百度推广服务中心
  • 厦门建行网站首页企业展厅建筑外观
  • 重庆定制型网站建设1000套网站源码
  • 阿里云网站建设服务费会计科目安平县建设局网站
  • 网上做国外兼职网站网络编程技术实验报告