「java找出子集」java数组子集

博主:adminadmin 2023-01-24 06:21:08 415

本篇文章给大家谈谈java找出子集,以及java数组子集对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 求集合的所有非空子集

前几天刚回答了一个类似的问题

public class T{

  public static void main(String[] args) {

    String str="abcac" ;

   //用Set集合保存结果,保证内容不重复

   SetString set = new HashSetString();

  //最外层循环控制指针移动位置 从 a 依次移动顺序 为  a b  c a c

  for(int i=0 ; istr.length() ; i++){

   //从指针所在位置开始内层遍历

   for(int k= i ; kstr.length() ; k++){

    //从指针位置处开始截取字符串,直到截到 字符串结尾

    String res = str.substring(i , k+1);

    //如果当前字符串和原始字符串相同,不放入集合中,该种情况不是子串

    if(res ==str) continue ;

    set.add(res);

   }

  }

  //遍历结果

  for(String s : set){

   System.out.println(s);

  }

}

}

java怎么查找字符串中是否包含某个字段

方法:

1、描述:java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列

2、声明:如下图

3、返回值:此方法返回true,如果此字符串包含,否则返回false。

4、实例:如下图

Java 基础语法

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

类:类是一个模板,它描述一类对象的行为和状态。

方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

JAVA递归找所有子集

package web;

import java.util.ArrayList;

public class SubsetGenerator

{

int[] indexs = null;

int COUNT = 1;// choose how many to be combination

ArrayListString list = new ArrayListString ();

private String subsets;

public SubsetGenerator( String subsets )

{

this.subsets = subsets;

}

public ArrayListString getSubsets ( int... params )

{

if(params.length == 0)

{

indexs = new int[subsets.length ()];

params = new int[2];

params[0] = 0;

params[1] = -1;

list.add ("");

}

params[1]++;

if(params[1]  COUNT - 1)

{

return list;

}

for( indexs[params[1]] = params[0]; indexs[params[1]]  subsets.length (); indexs[params[1]]++ )

{

getSubsets (indexs[params[1]] + 1, params[1]);

if(params[1] == COUNT - 1)

{

String temp = "";

for( int i = COUNT - 1; i = 0; i-- )

{

temp += subsets.charAt (indexs[params[1] - i]);

}

list.add (temp);

}

}

if(COUNT  subsets.length ()  params[0] == 0)

{

COUNT++;

getSubsets (0, -1);

}

return list;

}

}

package web;

import java.util.ArrayList;

import java.util.Collections;

public class SubsetGeneratorTester

{

public static void main ( String[] args )

{

SubsetGenerator generator = new SubsetGenerator ("rum");

ArrayListString subsets = generator.getSubsets ();

Collections.sort (subsets);

if(!"[, m, r, rm, ru, rum, u, um]".equals (subsets.toString ()))

{

System.err.println ("Expected: [, m, r, rm, ru, rum, u, um]");

}

else

{

System.err.println ("Congratulations !");

System.out.println ("Your result is: " + subsets);

}

}

}

java树级对象递归查找子集问题

package com.demo.dept;

/**

 * @author dongbin.yu

 * @from 2016-05-06

 * @since V1.0

 */

public class Dept {

    private int id;

    private String name;

    private int parentId;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getParentId() {

        return parentId;

    }

    public void setParentId(int parentId) {

        this.parentId = parentId;

    }

    public Dept(int id, String name, int parentId) {

        this.id = id;

        this.name = name;

        this.parentId = parentId;

    }

}

package com.demo.dept;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

/**

 * @author dongbin.yu

 * @from 2016-05-06

 * @since V1.0

 */

public class DeptTest {

    private static ListDept depts = new ArrayList();

    static{

        depts.add(new Dept(1,"部门1",0));

        depts.add(new Dept(2,"部门2",1));

        depts.add(new Dept(3,"部门3",1));

        depts.add(new Dept(4,"部门4",1));

        depts.add(new Dept(5,"部门5",2));

        depts.add(new Dept(6,"部门6",3));

        depts.add(new Dept(7,"部门7",2));

        depts.add(new Dept(8,"部门8",2));

        depts.add(new Dept(9,"部门9",1));

        depts.add(new Dept(10,"部门10",5));

    }

    public static void main(String[] args) {

        MapInteger, ListInteger deptMap = new HashMap();

        for (Dept dept : depts) {

            deptMap.put(dept.getId(),getChildDept(dept.getId()));

        }

        System.out.println(deptMap);

    }

    private static ListInteger getChildDept(int id){

        ListInteger ids = new ArrayList();

        for (Dept dept : depts) {

            if(dept.getParentId() == id){

                //添加第一次父id符合的

                ids.add(dept.getId());

                //添加嵌套父id符合的

                ids.addAll(getChildDept(dept.getId()));

            }

        }

                Collections.sort(ids);

        return ids;

    }

}

关于java找出子集和java数组子集的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。