当前位置: 首页 > 知识库问答 >
问题:

Java版本的python列表

夹谷晋
2023-03-14

我熟悉Python,在Python中,您可以创建一个值列表:[3,22,1,88],甚至可以创建列表列表:[[1,2],“a”,“dog”,33],[1,2,3,4]]

这些可以放入几乎任何东西。

在Java中,我创建了一个对象类,它保存了一系列活动的信息,我试图找到一种方法来存储活动发生的一周中的几天(周一、周二、周三等),以及它可能发生的月份的日期(1日、23日、29日)。

我想我应该把它们存储在arraylist中,然后使用。包含以查看该对象中是否存在特定的日期。因此,如果活动安排在周一、周二和周五,我将创建一个包含字符串的arraylist,其中包含“周一”、“周二”和“周五”,并将arraylist放入对象中。

或者我可以做一个包含7个索引的数组(0表示星期一,1表示星期二,6表示星期天),并根据活动中的日期在每个索引位置存储一个布尔值。然后我就可以拉那个索引看看活动是否安排在那天。

但是我可以在对象中存储该数组吗?该对象具有用于mActivityName、mActivityPlace、int mNumberOfPeople等的字符串。我可以将数组插入mDaysOf轮吗?如果有,如何?

非常感谢,赛斯

共有2个答案

尚俊楠
2023-03-14

如果您想使用第二种方法,它将如下所示:

public class Activity {
   String activityName;
   String activityLocation;
   int numberOfPeople;
   boolean[] schedule;
}

像这样声明它将使数组保持为null,直到它被初始化。您可以初始化它,像这样:

public class Activity {
   String activityName;
   String activityLocation;
   int numberOfPeople;
   boolean[] schedule = new boolean[7];
}

schedule的值现在将是[假,假,假,假,假,假]。您可以使用经典的setter进行更新:

// In the activity class
private void setSchedule(boolean[] schedule) {
   this.schedule = schedule;
}

// In whichever code is creating your activities
Activity activity = new Activity();
...
boolean[] mondaysAndWednesdays = {true, false, true, false, false, false, false};
activity.setSchedule(mondaysAndWednesdays);
...

或者,您可以包括一种方便的方法,用于为特定的一天安排活动:

// In the Activity class
private void scheduleForDayX(int x) {
    schedule[x] = true;
}

// In whichever code is creating your activities
Activity activity = new Activity();
...
activity.scheduleForDayX(0);
activity.scheduleForDayX(2);
...

然而,这不是我建议的方法。相反,我将创建一个每周7天的enum,并存储其中的一些集合(可能是一个集合),如另一个答案中所述。有关使用枚举而不是字符串的一些信息:为什么使用枚举而不是常量?

艾翼
2023-03-14

可以添加ArrayList作为对象的额外属性。因此,如果您想要一个列表,其中包含一周中活动可用的天数,那么最好有一个字符串的ArrayList。这样地:

public class MyObject {

private ArrayList<String> daysOfweek = new ArrayList<>();

}

您可以为这个新属性以及contains、add和remove方法创建适当的getter和setter。如果要直接访问该对象,只需将其声明为public。

 类似资料:
  • 功能介绍 获取本APP的全部版本列表 接口 https://openapi.baidu.com/rest/2.0/mtj/svc/config/getVersionList?access_token=[ACCESS_TOKEN]&aid=[APP_ID] 请求参数 参数名 参数类型 是否必须 描述 access_token string 是 用户准入token aid uint 是 应用ID 返

  • 我试图使用java通过jython.jar运行python函数。我使用的是一个从web下载的python模块,它需要python 2.6或更高版本。我很确定我的python版本是2.7.2。但是,当我尝试运行java程序时,它继续报告检测到python 2.5。我如何解决这个问题? 我的代码是: 而错误是:

  • 问题内容: 我需要写一个加权版本的(列表中的每个元素都有不同的被选择概率)。这是我想出的: 对于我来说,此功能似乎过于复杂且难看。我希望这里的每个人都可以提出一些改进建议或替代方法。对于我来说,效率并不像代码的清洁度和可读性那么重要。 问题答案: 从1.7.0版开始,具有支持概率分布的功能。 请注意,这是顺序相同的序列。您还可以使用关键字来更改行为,以便不替换绘制的项目。

  • 问题内容: 我一直在想,用于Android开发的Java版本与Java SE版本之间的关系。例如,我今天正在阅读有关Java SE 7中添加的功能“类型推断和通用方法”的信息。我不知道自己,“我可以在Android代码中使用它吗?” 当然,我可以将代码输入到Android项目中,看看它是否可以编译,但是我更愿意在自己的脑海里有了某种映射。 我已经尝试使用Google搜索此信息,检查Android文

  • 问题内容: Java 1.2使用主要版本46 Java 1.3使用主要版本47 Java 1.4使用主要版本48 Java 5使用主要版本49 Java 6使用主要版本50 Java 7使用主要版本51 Java 8使用主要版本52 Java 9使用主要版本53 Java 10使用主要版本54 Java 11使用主要版本55 Java 12使用主要版本56 Java 13使用主要版本57 Java

  • java应该吗 java版本“1.8.0_251”java(TM)SE运行时环境(构建1.8.0_251-b08)java热点(TM)64位服务器虚拟机(构建25.251-b08,混合模式) 和 javac 1.8.0_181 如果不是同一个版本,有什么问题吗?