Collections类(笔记)

2023-05-16

1.Collections的常用功能(重点)

import java.util.Collections;
java.util.Collections是集合工具类,用来对集合进行操作。
常用方法如下:
- public static void shuffle(List<?> list):打乱集合中元素顺序。
- public static void sort(List list):根据元素的自然顺序 对指定列表按升序进行排序。
注意:
以上两个方法的参数,只能传递List集合,对List集合进行排序|打乱顺序
不能传递Set集合

package com.itheima.demo01Collections;

import java.util.ArrayList;
import java.util.Collections;

/*
    java.util.Collections是集合工具类,用来对集合进行操作。
      常用方法如下:
    - public static void shuffle(List<?> list):打乱集合中元素顺序。
    - public static <T> void sort(List<T> list):根据元素的自然顺序 对指定列表按升序进行排序。
    注意:
        以上两个方法的参数,只能传递List集合,对List集合进行排序|打乱顺序
        不能传递Set集合
 */
public class Demo01Collections {
    public static void main(String[] args) {
        ArrayList<Integer> list01 = new ArrayList<>();
        list01.add(1);
        list01.add(3);
        list01.add(5);
        list01.add(6);
        list01.add(4);
        list01.add(2);
        System.out.println(list01);//[1, 3, 5, 6, 4, 2]

        //public static <T> void sort(List<T> list):根据元素的自然顺序对指定集合按升序进行排序。
        //升序:小==>大  降序:大==>小
        Collections.sort(list01);
        System.out.println(list01);//[1, 2, 3, 4, 5, 6]

        //public static void shuffle(List<?> list):[随机]打乱集合中元素顺序。
        Collections.shuffle(list01);
        System.out.println(list01);//[4, 3, 6, 2, 5, 1] [2, 6, 3, 4, 5, 1] [4, 5, 3, 2, 6, 1] [6, 1, 4, 5, 2, 3]

        ArrayList<String> list02 = new ArrayList<>();
        list02.add("aa");
        list02.add("AA");
        list02.add("AD");
        list02.add("bb");
        list02.add("12");
        list02.add("ab");
        System.out.println(list02);//[aa, AA, AD, bb, 12, ab]
        Collections.sort(list02);//自然顺序:编码表的顺序
        System.out.println(list02);//[12, AA, AD, aa, ab, bb]
    }
}

2.Comparator比较器(重点)(是一个接口)

  • 方法:

在这里插入图片描述

在这里插入图片描述

package com.itheima.demo01Collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/*
    static <T> void sort(List<T> list, Comparator<? super T> c) 根据指定[比较器产生的顺序]对指定集合进行排序。
    参数:
        List<T> list:传递要排序的List集合
        Comparator<? super T> c:比较器
    java.util.Comparator<T> 接口:强行对某个集合进行整体排序的比较函数。
    成员方法:
        int compare(T o1, T o2) 比较用来排序的两个参数。
    参数:
        T o1, T o2:会依次获取到集合中相邻的两个元素
    排序的规则:
        o1-o2:升序排序
        o2-o1:降序排序
        o1==o2:两个元素相等
 */
public class Demo02Collections {
    public static void main(String[] args) {
        ArrayList<Integer> list01 = new ArrayList<>();
        list01.add(1);
        list01.add(3);
        list01.add(5);
        list01.add(6);
        list01.add(4);
        list01.add(2);
        System.out.println(list01);//[1, 3, 5, 6, 4, 2]

        //static <T> void sort(List<T> list, Comparator<? super T> c) 根据指定[比较器产生的顺序]对指定集合进行排序。
        Collections.sort(list01, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //升序:o1-o2
                return o1-o2;
            }
        });
        System.out.println(list01);//[1, 2, 3, 4, 5, 6]

        //Collections.sort(list01, new ComparatorImpl());
        Collections.sort(list01, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //降序:o2-o1
                return o2-o1;
            }
        });
        System.out.println(list01);//[6, 5, 4, 3, 2, 1]
    }
}

在这里插入图片描述
字符串自定义排序规则

package com.itheima.demo01Collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Demo03Collections {
    public static void main(String[] args) {
        ArrayList<String> list02 = new ArrayList<>();
        list02.add("aa");
        list02.add("AA");
        list02.add("AD");
        list02.add("bb");
        list02.add("12");
        list02.add("ab");
        Collections.sort(list02, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //先按照字符串的第一个字符进行降序排序
                int a =  o2.charAt(0)-o1.charAt(0);//'a'-'A'==>97-65
                if(a==0){
                    //首字母相等,在按照第二个字母降序排序
                    a = o2.charAt(1)-o1.charAt(1);
                }
                return a;
            }
        });
        System.out.println(list02);//[bb, ab, aa, AD, AA, 12]

        Collections.sort(list02, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                /*
                    String类成员方法:
                        int compareTo(String anotherString)
                            按字典(编码表)顺序比较两个字符串。
                 */
                //字符串降序排序
                return o2.compareTo(o1);
            }
        });
        System.out.println(list02);//[bb, ab, aa, AD, AA, 12]

        Collections.sort(list02, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //字符串升序
                return o1.compareTo(o2);
            }
        });
        System.out.println(list02);//[12, AA, AD, aa, ab, bb]
    }
}

🎗经验分享

1.已知使用Collections中的sort代码

public class Demo04Collections {
    public static void main(String[] args) {
        //创建AarrayList集合对象,泛型使用Person
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person("azhangsan",18));
        list.add(new Person("lisi",20));
        list.add(new Person("wangwu",19));
        list.add(new Person("zhaoliu",18));
        list.add(new Person("tianqi",21));

        Collections.sort(list);
    }
}
public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + 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;
    }
}

2.出现的问题

集合的泛型使用Person,会报错
在这里插入图片描述

3.问题的分析

因为Person没有实现Comparable接口
我们之所以可以对Integer类型的集合,Double类型的集合,String类型的集合等,进行排序
是因为这些类Integer,Double,String等,实现了Comparable接口,重写了Comparable接口中的compareTo排序方法
在这里插入图片描述

4.问题解决办法

第一种解决办法:
使用Person类实现Comparable接口重写compareTo排序方法

package com;

public class Person implements Comparable<Person>{
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + 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;
    }

    @Override
    public int compareTo(Person o) {
        //比较两个人的年龄一个是this,一个是参数Person o
        //return this.age - o.age;//按照年龄升序
        return o.age - this.age;//按照年龄降序
    }
}
package com;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Demo01Collections {
    public static void main(String[] args) {
        //创建AarrayList集合对象,泛型使用Person
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person("azhangsan",18));
        list.add(new Person("lisi",20));
        list.add(new Person("wangwu",19));
        list.add(new Person("zhaoliu",18));
        list.add(new Person("tianqi",21));

        Collections.sort(list);

        System.out.println(list);
    }
}

程序运行结果(降序排序):有了排序规则sort方法不在报错
在这里插入图片描述
在这里插入图片描述

第二种解决办法:
Person不实现Comparable
可以使用带比较器的sort方法,自己写比较的规则

static void sort(List list, Comparator<? super T> c) 根据指定比较器产生的顺序对指定集合进行排序。
参数:
List list:要排序的List集合
Comparator<? super T> c:对集合进行排序的比较器
java.utl.Comparator接口:强行对某个对象 collection 进行整体排序 的比较函数。
Comparator接口中的抽象方法:
int compare(T o1, T o2) 比较用来排序的两个参数。
参数:
T o1, T o2:内部自动获取的集合中的元素[1,2,3,4]
比较的规则(重点):
升序:o1-o2
降序:o2-o1
两个元素相等:o1==o2

public class Demo01Collections {
    public static void main(String[] args) {		
		//创建AarrayList集合对象,泛型使用Person
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person("azhangsan",18));
        list.add(new Person("lisi",20));
        list.add(new Person("wangwu",19));
        list.add(new Person("zhaoliu",18));
        list.add(new Person("tianqi",21));

        //使用Collections集合工具类中的方法sort,对集合中的元素根据比较器产生的规则排序(年龄升序排序)
        Collections.sort(list, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                //年龄升序排序
                return o1.getAge()-o2.getAge();
            }
        });
        System.out.println(list);

        //按照两个人的年龄升序排序,如果两个人的年龄相同,按照姓名的首字母降序排序
        Collections.sort(list, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                //按照两个人的年龄升序排序
                int a = o1.getAge()-o2.getAge();
                //判断两个人的年龄是否相等
                if(a==0){
                    //按照姓名的首字母降序排序
                    a = o2.getName().charAt(0) - o1.getName().charAt(0);
                }
                return a;
            }
        });
        System.out.println(list);

        //按照两个人的年龄升序排序,如果两个人的年龄相同,按照姓名进行降序排序
        Collections.sort(list, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                //按照两个人的年龄升序排序
                int a = o1.getAge()-o2.getAge();
                //判断两个人的年龄是否相等
                if(a==0){
                    //按照姓名进行降序排序
                    /*
                        String类中的方法
                            int compareTo(String anotherString)按字典顺序(编码表的顺序)比较两个字符串。
                            会取出两个字符串中的每个字符,依次比较
                     */
                    a = o2.getName().compareTo(o1.getName());
                }
                return a;
            }
        });
        System.out.println(list);
    }
}
package com;

public class Person{
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + 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;
    }

}

程序运行结果:
在这里插入图片描述
3.可变参数

/*
可变参数:
是JDK1.5之后出现的新特性
作用:
【作为方法的参数使用,可以接收任意个同种数据类型的参数】
当我们定义一个方法,方法参数的数据类型已经确定了,但是参数的个数不确定,就可以使用可变参数
格式:
修饰符 返回值类型 方法名(数据类型…变量名){
方法体;
}
数据类型…变量名:可变参数
int…a:可以接收任意个int类型的整数(不传递参数,传递1个参数,传递10个参数…传递100个参数…)
String…a:可以接收任意个String类型的整数(不传递参数,传递1个参数,传递10个参数…传递100个参数…)
-------------------------------------------------
注意:可变参数的底层就是一个数组,定义不同长度的数组,来存储传递的不同个数
*/

package com.itheima.demo03variableArgs;

/*
    可变参数:
        是JDK1.5之后出现的新特性
    作用:
        【作为方法的形式参数使用,可以接收任意个同种数据类型的实际参数】
        当我们定义一个方法,方法参数的数据类型已经确定了,但是参数的个数不确定,就可以使用可变参数
    格式:
        修饰符 返回值类型 方法名(数据类型...变量名){
            方法体;
        }
    数据类型...变量名:可变参数
    int...a:可以接收任意个int类型的整数(不传递参数,传递1个参数,传递10个参数....传递100个参数...)
    String...a:可以接收任意个String类型的字符串(不传递参数,传递1个参数,传递10个参数....传递100个参数...)
    -------------------------------------------------
    注意:可变参数的底层就是一个数组,定义不同长度的数组,来存储传递的不同个数
 */
public class Demo01 {
    public static void main(String[] args) {
        //getSum();
        //getSum(10);
        int s1 = getSum(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
        System.out.println("s1:"+s1);//s1:550
        int s2 = getSum(10, 20);
        System.out.println("s2:"+s2);//s2:30
    }

    /*
        定义一个方法,计算n个int类型整数和并返回
        已知:数据类型int
        未知:传递多少个参数
        解决:使用可变参数解决
        --------------------------------------------
        getSum();那么可变参数就会创建一个长度为0的数组,存储数据 int[] a = new int[]{ };
        getSum(10);那么可变参数就会创建一个长度为1的数组,存储数据 int[] a = new int[]{10};
        getSum(10,20);那么可变参数就会创建一个长度为2的数组,存储数据 int[] a = new int[]{10,20};
        ...
        getSum(10,20,30,40,50,60,70,80,90,100);那么可变参数就会创建一个长度为10的数组,
            存储数据 int[] a = new int[]{10,20,30,40,50,60,70,80,90,100};
     */
    public static int getSum(int...a){
        //System.out.println(a);
        //System.out.println(a.length);
        int sum = 0;
        for (int i : a) {
            sum+=i;
        }
        return sum;
    }
    /*
        定义一个方法,计算两四个int类型整数的和并返回
     */
    /*public static int getSum(int a,int b,int c,int d){
        return a+b+c+d;
    }*/

    /*
        定义一个方法,计算两三个int类型整数的和并返回
     */
    /*public static int getSum(int a,int b,int c){
        return a+b+c;
    }*/

    /*
        定义一个方法,计算两个int类型整数的和并返回
     */
    /*public static int getSum(int a,int b){
        return a+b;
    }*/
}

重点:记住可变参数可以接收任意个同种数据类型的元素

package com.itheima.demo03variableArgs;

import java.util.ArrayList;

public class Demo02 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        method(10,1.1,list,true,false,true,false,true,true,false);
    }
    
    //可变参数的注意事项
    //1.一个方法的参数列表中只能写一个可变参数
    //public static void method(String...a,int...b){ }
    
    //2.方法的参数列表如果有多个参数,可变参数必须写在末尾
    //Vararg parameter must be the last in the list
    //public static void method(int a, double b,boolean...boo ,ArrayList<String> list){ }
    //public static void method(int a, double b,ArrayList<String> list,boolean...boo){ }
    
    //3.看java底层源码
    //public static void method(Object...obj){}
    public static <T> T[] method(T...t){
        return t;
    }
}

可变参数注意事项:
1.一个方法的参数列表中只能写一个可变参数

2.方法的参数列表如果有多个参数,可变参数必须写在末尾
在这里插入图片描述
3.看java底层源码
在这里插入图片描述
4.Collections集合工具类中的方法addAll
在这里插入图片描述

package com.itheima.demo03variableArgs;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;

/*
    Collections集合工具类中的方法addAll
    static <T> boolean addAll(Collection<? super T> c, T... elements)
          将所有指定元素添加到指定 collection 中。
 */
public class Demo03addAll {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        //add一次添加一个元素
        //list.add(1);
        //list.add(2);
        //list.add(3);
        //list.add(4);
        //list.add(5);
        //addAll一次添加多个元素
        Collections.addAll(list,1,2,3,4,5);
        System.out.println(list);

        LinkedList<String> linked = new LinkedList<>();
        Collections.addAll(linked,"aa","bb","jack","rose");
        System.out.println(linked);//[aa, bb, jack, rose]

        HashSet<Double> set = new HashSet<>();
        Collections.addAll(set,1.1,2.2,3.3,4.5,5.5);
        System.out.println(set);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Collections类(笔记) 的相关文章

  • C++ 维护子类对象的混合集合

    如果我在这里错过了一个相当基本的概念 我很抱歉 但我正在尝试弄清楚如何维护多个类类型的集合 所有类类型都派生自同一个父类 并且在检索它们时仍然可以访问它们的特定于子类的方法从集合中 作为上下文 我有一个基类 BaseClass 和许多类 例
  • DWR 如何转换传入数据并避免类型擦除

    我想请求一个集合的项目类 某种特定的反映 但是关于类型擦除似乎是不可能的 而且关于我在堆栈上读到的一些主题也是如此 有一些解决方法 here https stackoverflow com questions 8452893 avoidin
  • 给定一个 IP 地址列表,如何找到最小值、最大值?

    在Java中 我有一个ip地址的数组列表 我如何找到最小值和最大值 我已经使用了 Collection min 但在以下情况下它不起作用 192 168 0 1 lt min 192 168 0 250 192 168 0 9 lt max
  • 使用 C++/CLI 包装非托管 C++ 类库 - 问题 2 - 集合

    Note 这篇文章代表了我的询问的问题 2 两个问题中都会重复介绍部分 达到数字之前的所有文本 因为它是回答问题可能需要的背景信息 问题简介 我有一个非托管 C 库 其中包含多个 更高级别 库所共有和共享的类和函数 我现在需要向 C Net
  • Java 中的 TreeSet 与 C#.net 的等效项

    我有 Java 代码 其中包含TreeSet 我想将代码转换为 C 我可以使用哪个等效集合 如果没有 请提出替代方案 那将是系统 集合 通用 SortedSet
  • 是否有 apache.commons.collections.CollectionUtils 的可行的通用替代方案?

    是否有可行的通用版本org apache commons collections CollectionUtils 如果没有 为什么不呢 这似乎是一个显而易见的需求 或者 Java 社区是否已经放弃了函数式编码 直到 Java 17 添加了闭
  • Scala 条件列表构造

    我正在使用 Scala 2 9 2 并且想根据某些条件构建一个列表 考虑以下情况 其中 cond 是采用谓词 p 和类型 T 的值 在本例中为 t3 的某个函数 t1 t2 cond p t3 t4 我想要的行为如下 如果 p 为真 则应给
  • 使用 TreeMap 和 Comparator 按值对 HashMap 进行排序

    我使用以下代码创建哈希图 然后使用树形图和比较器对哈希图中的值进行排序 然而 输出结果却出乎意料 所以任何关于我做错了什么的想法都会有帮助 Code public static void main String args System ou
  • 维护插入顺序的并发集合[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以维护插入顺序的并发列表 有人有什么好的推荐吗 我看一些番石榴 例如SetFromMa
  • 对列表进行排序,同时保持一些元素始终位于顶部

    我们有一个List
  • 将集合项复制到 .NET 中的另一个集合

    在 NET VB 中 如何获取一个集合中的所有项目 并将它们添加到第二个集合中 而不丢失第二个集合中预先存在的项目 我正在寻找比这更有效的东西 For Each item As Host In hostCollection1 hostCol
  • 如何将对象(模型类型对象)插入到 Laravel 中 Collection 对象的特定索引号处?

    我读过戴尔 里斯的代码明亮 https daylerees com codebright 了解更多关于雄辩的信息Collection在 Laravel 中使用 还做了一些其他研究 但找不到我正在寻找的答案 我想插入一个对象 Model输入对
  • 创建可以绑定到 DataGrid 的自定义集合

    我在一家建筑公司工作 正在为 3D 建模程序创建一个插件来协助设计 我有一个Building类 以及一个Floor班级 该建筑包含对楼层列表地板的集合 我正在尝试找出以什么为基础楼层列表集合 以便我可以最大限度地减少创建编辑集合的界面所需的
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • 使用 ReadonlyMap 类型

    TypeScript 定义ReadonlyMap
  • 最好的 Java 集合线程安全锁定机制?

    在 Java 中控制对集合的多次访问的最慢的线程安全机制是什么 我正在将对象添加到集合的顶部 但我非常不确定什么是性能最佳的集合 它是一个向量还是一个队列 我最初认为 ArrayList 会很快 但我进行了一些实验 发现它非常慢 编辑 在我
  • 如何在没有objectid字段的mongodb集合上查找上次更新/插入/删除操作时间

    我在 MongoDb 数据库中有一些未使用的集合 我必须找出对数据库中的集合执行 CRUD 操作的时间 我们有自己的 id字段 而不是mongo默认的object id 我们没有任何时间在集合中归档以找出修改时间 有没有办法从元数据中找出m
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 泛型和系统集合

    迁移到 NET 2 0 后 是否还有理由继续使用 systems Collections 命名空间 除了维护遗留代码之外 是否应该始终使用泛型命名空间 在大多数情况下 泛型集合的执行速度比非泛型集合更快 并且为您带来强类型集合的好处 比较
  • AbstractCollection 的 toArray 方法的实现中的代码有什么用

    public Object toArray Estimate size of array be prepared to see more or fewer elements Object r new Object size Iterator

随机推荐

  • 一篇文章搞懂Python那些事!!!

    1 python安装 1 1 安装地址 xff1a Download Python Python org 1 2 注意事项 xff1a 安装时需要勾选加入path环境安装后需要将python exe和script两个文件的路径加入path
  • Typora安装和使用技巧

    一 Typora安装 官方下载地址 xff1a https typora io 破解版下载地址 xff1a typora破解版安装 路人张的面试笔记 这里的旧版本是一直支持free xff1a 二 Typora使用技巧 常用快捷键 加粗 x
  • Word模板的创建与设置

    Word模板的创建与设置 1 背景 word作为office的一部分 是微软提供的办公文档写作软件 除了文字编辑的功能之外 它还包含很多提高写作效率的自动化功能 目前已成为办公文档 专业论文写作等必不可少的利器 本文内容涵盖了word自动化
  • TCP 服务器程序突然中断 由于send函数导致

    最近在写tcp 客户端服务器操作 设置服务器为单线程多个客户端连入 开发过程中出现 服务器代码运行过程中 在send处突然中断情况 通过GDB调试发现send函数报错提示打开文件错误 由于测试过程纵单节点反复连入客户端 在client so
  • 我为什么选择Linux mint 21.1 “Vera“ ? Mint安装优化调教指南(分辨率DPI、主题美化)

    前言 xff1a 为什么是Mint 笔者算是Linux老用户了 xff0c 作为一个后端开发 xff0c 尝试了多种不同发行版 一开始是Manjaro这种Arch系 xff0c 但是其对于开发而言实在是太过不稳定 xff1b 每次滚动更新都
  • 常用主题建模方法简单对比LSA&PLSA&LDA&HDP

    几种常用的主题建模方法 潜在语义分析 LSA I 概率潜在语义分析 PLSA 潜在狄利克雷分布 LDA 层次狄利克雷过程 HDP LSA I存在的主要问题 SVD计算非常耗时 xff0c 尤其文本处理 xff0c 词和文本数都是非常大的 x
  • banner2.1新版的使用,图片加载方法

    新版banner没有了设置图片和加载图片的方法 xff0c 弄了好几天才发现要设置适配器才可以使用 使用banner setaAapter方法设置适配器 xff0c 里面创建一个匿名内部类 xff0c 然后继承BannerImageAdap
  • yum解决依赖问题巧用

    1 使用yum查找软件需要用到的依赖包 xff0c 需要使用的命令是 xff1a yum deplist 34 要查找的软件 34 例如要查找 安装 redis 需要 的依赖软件有哪些 xff1a yum deplist redis 2 假
  • ubuntu linux 下载的deb包存放位置

    var cache apt archives
  • VMware快捷启动虚拟机+开机自启动

    场景 需要快速启动vm中的虚拟机服务 实现 编写bat文件 xff08 新建txt文件写完改成 bat文件即可 xff09 span class token string 34 D Dev tools VMware span class t
  • Zookeeper思维导图

  • cnpminstall报错:Connecttimeoutfor5000ms踩坑

    问题 xff1a 安装Head插件 xff0c 执行cnpm install 报错 xff0c 报错如下 xff1a Get binary mirror config latest from https registry npm taoba
  • 解决执行grunt命令报错【Cannot find module 'coffeescript/register'】

    在使用grunt的插件执行grunt命令时报错 xff1a 如图 xff1a 报错信息 xff1a Cannot find module 39 coffeescript register 39 解决办法 xff1a 1 xff1a 删除项目
  • Linux命令(1)

    1 判断一个命令的类型 type xff1a 格式 xff1a type xff08 一个空格 xff09 命令 作用 xff1a 判断该类型是内部还是外部命令 还可以显示该命令文件路径 2 查看一个文件的类型 file 格式 xff1a
  • 关于单链表的理解

    链表是一种物理 存储单元上非连续 非顺序的 存储结构 xff0c 数据元素的逻辑顺序是通过链表中的 指针链接次序实现的 链表由一系列结点 xff08 链表中每一个元素称为结点 xff09 组成 xff0c 结点可以在运行时动态生成 每个结点
  • selinux is active unexpected inconsistency RUN fsck MANUALLY

    启动centos6 5时报错 xff0c 错误主要是 xff1a selinux is active unexpected inconsistency RUN fsck MANUALLY 原因是因为意外关机如断电 xff0c 或者虚拟机中强
  • Linux永久修改主机名

    hostnamectl set hostname xxx
  • 去除重复字母(Java实现)

    题目 去除重复字母 给你一个字符串 s xff0c 请你去除字符串中重复的字母 xff0c 使得每个字母只出现一次 需保证 返回结果的字典序最小 xff08 要求不能打乱其他字符的相对位置 xff09 示例1 输入 xff1a s 61 b
  • JDK介绍(笔记学习)

    JDK介绍 1 JRE和JDK xff08 记忆 xff09 JDK 称为Java开发工具 xff0c 包含了JRE和开发工具 JRE Java运行环境 xff0c 包含了JVM和Java的核心类库 xff08 Java API xff09
  • Collections类(笔记)

    1 Collections的常用功能 重点 import java util Collections java util Collections是集合工具类 xff0c 用来对集合进行操作 常用方法如下 xff1a public stati