我试图在{"A","B","C"}不重复的情况下查找数组中的字符串组合,并且应该在子集中保留元素的顺序。所需的顺序是[["B","C"], ["A","C"], ["A","B"], ["A","B","C"], ["A"], ["C"], ["B"]]。我尝试使用在这个问题中找到的答案来编写逻辑,发现元素的顺序没有保留。
public static Set <JSONArray> getCombinations( int k , JSONArray properties )
{
Set <JSONArray> combinations = new LinkedHashSet <JSONArray>();
try
{
if ( k == 0 )
{
combinations.add( new JSONArray() );
return combinations;
}
for ( int i = 0 ; i < properties.length() ; i++ )
{
String element = properties.getString( i );
JSONArray sublist = getSublist( properties , i + 1 );
combinations.add( sublist …Run Code Online (Sandbox Code Playgroud)