Reflection is a C# language mechanism for accessing dynamic object properties on runtime. Typically, reflection is used to fetch the information about dynamic object type and object attribute values. In REST application, for example, reflection could be used to iterate through serialized response object.
Remark: According to MS guidelines performance critical code should avoid reflection. See https://msdn.microsoft.com/en-us/library/ff647790.aspx
The collections framework in
java.util provides a number of generic classes for sets of data with functionality that can't be provided by regular arrays.
Collections framework contains interfaces for
Collection<O>, with main sub-interfaces
Set<O>, and mapping collection
Map<K,V>. Collections are the root interface and are being implemented by many other collection frameworks.
Gradle is a JVM-based build system that enables developers to write high-level scripts that can be used to automate the process of compilation and application production. It is a flexible plugin-based system, which allows you to automate various aspects of the build process; including compiling and signing a
.jar, downloading and managing external dependencies, injecting fields into the
AndroidManifest or utilising specific SDK versions.
java.util.Iteratoris the standard Java SE interface for object that implement the Iterator design pattern. The
java.lang.Iterableinterface is for objects that can provide an iterator.